MyRocks文档-Getting Started with MyRocks

Getting Started with MyRocks

Download Facebook MySQL 5.6, then build from source

安装步骤,这都不会就不用往下做了,直接给连接https://github.com/facebook/mysql-5.6/wiki/Build-Steps

Set up my.cnf

想要把RocksDB引擎给启动起来,你至需要把至少下面这一些参数给写到my.cnf文件里面去

[mysqld]
rocksdb
default-storage-engine=rocksdb
skip-innodb
default-tmp-storage-engine=MyISAM
collation-server=latin1_bin (or utf8_bin, binary)

log-bin
binlog-format=ROW

如果你想在同一个实例里面同时使用Innodb和RocksDB的话,需要把skip-innodb改成allow-multiple-engines,但这种使用方法不推荐在生产环境中使用,因为多种存储引擎在一起并不能实现真正的事务【TODO1】,但如果只是用来做实验,那就随意了
Statement模式只能是在Slave上这么设置,而主库不行,因为MyRocks并不支持next-key锁(译者注:主备参数的一致性一定要保证,否则就是给自己挖了一个屎坑)

Initialize database with mysql_install_db

mysql_install_db --defaults-file=/path/to/my.cnf

Start mysqld

mysqld_safe --defaults-file=/path/to/my.cnf

Create RocksDB table

举一个栗子

  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;

这个栗子里面演示了MyRocks里面的一些重要的特性以及一些限制,关于限制请看:MyRocks Limitations

  • MyRocks的数据存储在RocksDB存储引擎内,每一个索引都有单独的数据文件。RocksDB内部是通过"Column Family"来去存储索引的,在默认情况下,所有的数据都会被存到一个默认的的Column Family里面去,你可以通过设置这个索引的Comment来去改变它。在上面这个栗子里面,主键被存储到了一个叫做cf_link_pk的Column Family里面,而id1_type 存储到了rev:cf_link_id1_type里面
  • MyRocks还有一个特性被称为"Reverse Column Family",Reverse Column Family常常被用在会使用order by xxx desc这样的SQL语法里面,只需要在Column Family前面加上一个"rev:"便可以创建一个"Reverse Column Family",例如上面这个栗子
    (译者注:Column Family就是列簇,考虑两种场景,第一,当我们想访问某一行的部分数据时,通常需要把整行读取出来,然后读取部分列的数据,这种效率固然不高,第二,我们也不能把每一列的数据全部拆开,这样当我们想读取多列的数据的时候,又一样歇菜了。因此Column Family的设计其实就是把会访问到的数据列单独给聚合到一起,其实就是索引里面的覆盖索引的设计思想)
时间: 2024-10-10 07:57:09

MyRocks文档-Getting Started with MyRocks的相关文章

MyRocks文档-Init

原文地址:https://github.com/facebook/mysql-5.6/wiki 因为最近要用到MyRocks,所以文档还是要看看的,翻译不对的地方大家多多指正,谢谢. [目录] Overview 2017-2-3 21:00:00 [Init...]

通过beego快速创建一个Restful风格API项目及API文档自动化(转)

通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界面. 一.创建数据库及数据表(MySQL) #db--jeedev -- ---------------------------- -- Table structure for `app` -- ---------------------------- DROP TABLE IF EXISTS `a

[转贴]xcode帮助文档

突然间得到了一台MAC ,这时候不学OC 更待何时学呀?马上找了IOS开发的书和网上的帖子看,最近在开源力量那里看了TINYFOOL的入门讲座,讲的都很虚,可能时间不够吧,也没看到什么例子呀,什么的,很蜻蜓点水,点到即止,BUT ANYWAY,在开源IOS 入门讲座完了就突然得到了一台MAC,不知道是不是上天的安排,还是学一下OC吧,毕竟水果的支持时间是有限的,一般我估计3年后水果不再支持这款MAC,到时想学也不够条件了,我们这种吊丝真的经常被生活所迫.在网上找到一个文章教人看XOCDE的帮助文

标准文档流

标准流指的是在不使用其他的与排列和定位相关的特殊CSS规则时,各种元素的排列规则.HTML文档中的元素可以分为两大类:行内元素和块级元素.       1.行内元素不占据单独的空间,依附于块级元素,行内元素没有自己的区域.它同样是DOM树中的一个节点,在这一点上行内元素和块级元素是没有区别的.       2.块级元素总是以块的形式表现出来,并且跟同级的兄弟块依次竖直排列,左右自动伸展,直到包含它的元素的边界,在水平方向不能并排.盒子在标准流中的定位原则margin控制的是盒子与盒子之间的距离,

使用Apache POI导出Excel小结--导出XLS格式文档

使用Apache POI导出Excel小结 关于使用Apache POI导出Excel我大概会分三篇文章去写 使用Apache POI导出Excel小结--导出XLS格式文档 使用Apache POI导出Excel小结--导出XLSX格式文档 使用Apache POI导出Excel--大数量导出 导出XLS格式文档 做企业应用项目难免会有数据导出到Excel的需求,最近在使用其,并对导出Excel封装成工具类开放出来供大家参考.关于Apache POI Excel基本的概念与操作我在这里就不啰嗦

Atitit 项目文档规范化与必备文档与推荐文档列表

===========比较重要的必备文档========== 项目组名单通讯录( 包括项目组,客户沟通人等 需求文档 原型ui文档 开发计划表 项目源码与架构文档以及新结构文档 设计文档 (一般概要即可,重点模块单独详细设计) 数据库文档 注意事项 =========对开发比较重要的文档 Svn源码服务器账号密码 测试数据库账号密码信息 数据库sql脚本文件. 开发环境搭建文档 项目技术规范文档.(项目模式和产品模式有很多不同,需要单独分离) ======其他 测试说明文档 测试服务器部署账号信

Xcode文档安装

1.Xcode文档在线安装 打开Xcode,首选项 点击DownLoads下载文档 2.Xcode文档离线安装 找到备份的文档 com.apple.adc.documentation.AppleiOS8.0.iOSLibrary.docset 找到DocSets目录 /Applications/Xcode.app/Contents/Developer/Documentation/DocSets 拷贝文件到该目录 退出重新打开Xcode 如果还不行,/Users/你的用户名/Library/Dev

NetScaler/MAS/XAXD自动文档生成工具

当工程实施后,为用户提交文档一直是工程师比较繁重的工作.这组NetScaler和MAS脚本可以帮助我们自动生成文档减轻部分工作. 脚本基于powershell,利用NetScaler的Nitro RESTful API把所有的信息取出,直接生成word或者pdf版本的文档. 原脚本支持除中文外的多种欧美语言,经过我和作者CarlWebster多次的测试,NetScaler脚本终于支持了中文版的office,可以在中文的系统上直接导出文档了.可在本文下方下载附件. 同时我把NetScaler的脚本

如何用代码读取Office Online Server2016的文档的备注信息

前言 在一个项目上客户要求读取office online server 2016的对文档的备注信息,如下图: 以前思路老纠结在OOS这个在线上,总有以为这个信息存储在某个列表中,其实错了,这个备注信息其实就是word文档的备注信息,微软采用openxml开发的OOS,因此我也采用openxml读取备注信息的思路进行尝试,结果发现原来是可以的,成功效果图如下: 注意: OpenXml格式只有office2007以及以上版本才支持的格式,如果office97-2003格式的文档是二进制格式的文档,o