Facebook이 공개한 새로운 MySQL용 스토리지 엔진 「MyRocks」를 시험해 본다 ~설치편~
h tp // w w. 푸 b c y1. jp/b㎉g/16/후세보오 kmysqlmy로cks. HTML
MyRocks는 InnoDB가 플래시 스토리지와 결합할 때 기록되는 데이터 양의 효율성을 개선하기 위해 Facebook에서 수행한 스토리지 엔진입니다.
2013년에 키 밸류 스토어로 공개한 RocksDB를 MySQL에 통합시킨 것을 기반으로 하고 있습니다.
스토리지 효율의 면에서 매우 뛰어나고 압축 기능을 이용한 InnoDB와의 비교에서도 MyRocks는 기록되는 데이터량이 압도적으로 작다고 한다.
음, 궁금해. 그래서 빨리 시도해 봅시다 (☝ ՞ਊ ՞)☝
MyRocks를 사용하는 방법은 facebook의 github 위키에 설명되어 있습니다.
htps : // 기주 b. 코 m / 후세 보오 k / mysql - 5.6 / 우즈키 / 갓찐 g - S r d u ぃ th My Locks
MySQL을 소스에서 떨어뜨려 빌드하는 형태군요.
이것에 따라 해도 좋지만,
좀 더 빨리 시도하고 싶다 ~ 어떻게 MyRocks의 Docker 이미지 구르지 않았을까 ~
생각하면 정말로있었습니다
htps //w w. 페르코나. 이 m/bぉg/2016/09/06/my로 cks-도 c 케-r 속눈썹 s/
perconadb 씨가 만들어 주었습니다. 감사!
그럼 Docker 이미지를 떨어뜨려 사용해 보겠습니다.
이미 Mac 용 Docker가 있다고 가정합니다.
Docker 레지스트리에서 Docker 이미지를 다운로드합니다.
docker pull perconalab/myrocks
완료되면 이미지에서 컨테이너를 만듭니다.
docker run -d --name myr -P perconalab/myrocks
그리고 절차대로 Mac에서 mysql 명령으로 연결
mysql -h127.0.0.1
RROR 1130 (HY000): Host 'gateway' is not allowed to connect to this MySQL server
··응? 보통 에러했다(*´д`) 접속 허가가 되어 있지 않네요
어쩔 수 없기 때문에 컨테이너에 들어가 연결
(mysql 명령의 경로가 통과하지 않았기 때문에 나중에 통과하기로 결정합니다)
$ docker exec -it myr bash
[root@84e0d99b1244 /]# /usr/local/mysql/bin/mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.6.27 Source distribution
Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
연결되면 MyRocks 스토리지 엔진이 있는지 확인합니다.
mysql> show engines;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| ROCKSDB | DEFAULT | RocksDB storage engine | YES | YES | YES |
| MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
| CSV | YES | CSV storage engine | NO | NO | NO |
| MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
| ARCHIVE | YES | Archive storage engine | NO | NO | NO |
| FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
| InnoDB | NO | Supports transactions, row-level locking, and foreign keys | NULL | NULL | NULL |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
ROCKSDB가 있으면 OK입니다
여기서 다시 github 위키로 돌아가서 위키에 쓰여진대로 테이블을 만듭니다.
CREATE TABLE `linktable` (
`id1` bigint(20) unsigned NOT NULL DEFAULT '0',
`id1_type` int(10) unsigned NOT NULL DEFAULT '0',
`id2` bigint(20) unsigned NOT NULL DEFAULT '0',
`id2_type` int(10) unsigned NOT NULL DEFAULT '0',
`link_type` bigint(20) unsigned NOT NULL DEFAULT '0',
`visibility` tinyint(3) NOT NULL DEFAULT '0',
`data` varchar(255) NOT NULL DEFAULT '',
`time` bigint(20) unsigned NOT NULL DEFAULT '0',
`version` int(11) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (link_type, `id1`,`id2`) COMMENT 'cf_link_pk',
KEY `id1_type` (`id1`,`link_type`,`visibility`,`time`,`version`,`data`) COMMENT 'rev:cf_link_id1_type'
) ENGINE=RocksDB DEFAULT COLLATE=latin1_bin;
일단 테이블 정보의 확인.
mysql> show table status \G
*************************** 1. row ***************************
Name: linktable
Engine: ROCKSDB
설치편이므로 여기까지!
벤치마크를 취하거나 등은 또 추후라고 하는 것으로.
Reference
이 문제에 관하여(Facebook이 공개한 새로운 MySQL용 스토리지 엔진 「MyRocks」를 시험해 본다 ~설치편~), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/endam/items/de670eb4d773d27dc802텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)