之前通过TIDB了解到了LSM Tree,优化了数据库的写入的速度,在mariadb下,也有一个基于LSM的存储引擎Myrocks,他也支持事务,目前也是稳定版本,最近有时间学习了下。目前10.7windows版本里面是自带myrocks的,只是默认没有起来,配置my.ini后,show engines就可以看到了。

为了测试真实的效果,我建了一个带主键和二级唯一索引的myrocks用户表,主键采用自增,二级索引是字符串类型,写入的字符串是36位uuid。用java程序拼好sql后,直接写入数据库。从写入笔记本电脑SSD磁盘的速度来看,每100条的写入时间是40ms左右,cup利用率很低,但是ssd硬盘的利用率达到了50%以上,读取的速度达到每秒20M,但是写入的速度也就不到1M,我想主要的磁盘时间都花在了判断写入的唯一索引字段是不是重复了。看来如果做用户表,要应付大量的用户同时注册,还是得分库,但是不用分表。如果是写入没有唯一索引判断的,就写入快得多了。Myrocks把所有的不同的表的数据都放在了一个文件夹下了,没有做明显的区分,应该是他觉得不需要按照表来划分LSM文件。我实际测试,写了将近3亿的数据,也没有觉得数据多了,读取和写入变慢了。

和myrocks插件并列还有许多的插件,有一个插件叫Spider ,配置后才可以生效。Spider 是 MariaDB 内置的一个可插拔用于 MariaDB/MySQL 数据库分片的存储引擎,充当应用服务器和远程后端 DB 之间的代理(中间件),它可以轻松实现 MariaDB/MySQL 的横向和纵向扩展,突破单台 MariaDB/MySQL 的限制,支持范围分区、列表分区、哈希分区,支持 XA 分布式事务,支持跨库 join。完成数据库跨越多组实例(instances)。

我测试了一下,在我本地的mariadb建一个spider表可以访问到我们的内网环境的mysql上的对应表。

通过带spider的mariadb将后面的所有的myrocks引擎通过XA事务连接在了一起,堪比tidb,由于只需要分库不用分表,减少了DBA大量的工作,设计系统的时候,只需要判断写入的速度,写入的容量能不能支持业务就可以了,读的优化是最容易的,我后面可以接N个从库来应对读请求。从系统的可维护性和可扩展性上来说,比tidb更好

基于Myrocks和spider构建分布式数据库相关推荐

  1. 基于Sql Server 2000的分布式数据库的实践

    摘 要:提出了如何充分利用 MS SQL Server 2000 的数据库管理特性,采用链接服务器.分布式分区视图和存储过程构建分布式数据库,以及基于数据库复制技术实现混合式的数据分布.实验实现了分布 ...

  2. 基于Sql Server 2008的分布式数据库的实践(一)

    原文 基于Sql Server 2008的分布式数据库的实践(一) 配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选 ...

  3. 基于Sql Server 2008的分布式数据库的实践(五)

    基于Sql Server 2008的分布式数据库的实践(五) 原文 基于Sql Server 2008的分布式数据库的实践(五) 程序设计 ------------------------------ ...

  4. 基于Sql Server 2008的分布式数据库的实践(三)

    原文 基于Sql Server 2008的分布式数据库的实践(三) 配置PHP 1.打开PHP配置文件,找到extension=php_mssql.dll,将前面的注释符号去掉 2.找到mssql.s ...

  5. Spider引擎分布式数据库解决方案(最全的spider教程)

    Spider引擎分布式数据库解决方案(最全的spider教程) 参考文章: (1)Spider引擎分布式数据库解决方案(最全的spider教程) (2)https://www.cnblogs.com/ ...

  6. .NET Remoting构建分布式数据库查询

    引言 随着传统的数据库.计算机网络和数字通信技术的快速发展,以数据分布存储和分布处理为主要特征的分布式数据库系统的研究和开发越来越受到人们的关注.微软提供了两种解决方案来为用户实现数据服务,即 .NE ...

  7. 基于Sql Server 2008的分布式数据库的实践

    配置Sql Server 2008(Win7) 1.打开SQL server2012,使用windows身份登录 2.登录后,右键选择"属性".左侧选择"安全性" ...

  8. RadonDB - 基于MySQL的云原始分布式数据库,用于构建全局的,可扩展的云服务

    RadonDB是开源的云原生MySQL数据库,用于构建全局的,可扩展的云服务 概观 RadonDB是一个开源的,云原生的MySQL数据库,可实现无限的可扩展性和性能. 什么是RadonDB? Rado ...

  9. 基于 SQL SERVER 的分布式数据库设计与实现

    摘 要:提出了如何充分利用 MS SQL Server 2000 的数据库管理特性,采用链接服务器.分布式分区视图和存储过程构建分布式数据库,以及基于数据库复制技术实现混合式的数据分布.实验实现了分布 ...

  10. Mycat社区出版: 分布式数据库架构及企业实践——基于Mycat中间件

    书名: 分布式数据库架构及企业实践--基于Mycat中间件 作者:周继锋 冯钻优 陈胜尊 左越宗 ISBN:978-7-121-30287-9 出版年月:2016年11月 定价:79元 开本:787× ...

最新文章

  1. JAVA字符串格式化-String.format()的使用
  2. 数据存储之属性列表Plist
  3. linux下 发布qt程序,Linux下发布qt程序
  4. boost::container模块实现内存资源记录器的程序
  5. java 读取txt字符串_java读取txt并获取某一部分字符串
  6. Java流程控制03 循环结构 While循环 DoWhile循环 For循环 增强型For循环
  7. 学习拾遗--用RadioButtonList 或者DropDownList 进行动态赋值问题
  8. Java中遍历Map集合的五种方式
  9. shell(30) : 批量修改文件后缀
  10. 【概率论与数理统计 Probability and Statistics 3】—— (important)全概率公式和贝叶斯公式
  11. 黑帽SEO研究之js快照劫持代码分析
  12. python游戏开发实战:黑客帝国特效
  13. python中print打印输出
  14. 人民日报海外版总编辑詹国枢谈新闻写作技巧:五句话妙手著文章
  15. 什么叫做注解?注解和注释有什么区别?
  16. linux系统fasta程序,快速计算fasta序列长度的方法
  17. 【云原生 | 19】Docker数据存储详解
  18. 软件测试面试宝典(2022面试预测)——软件测试大厂试题
  19. IDEA Windows + Mac 快捷键(全)
  20. 微信支付-APP支付

热门文章

  1. 芯片——摩尔定律的传奇(下)
  2. Linux面试题大全(带答案的哦)
  3. 最全的“四大天王”合影集(绝对经典…
  4. 《网络攻防》第二周作业
  5. 联想电脑如何修复计算机系统,Lenovo电脑如何用已备份的系统进行一键恢复
  6. 如何将论文中的公式图片直接变为word中的公式
  7. 如何解决Invalid quadratic form: product is complex
  8. tcl脚本控制spirent testcenter异常记录
  9. git rebase 命令 常用_git rebase命令
  10. Longest_consecutive_sequence