巨杉数据库 MySQL兼容项目正式开源

转载   OliverFinn   2018-09-16   浏览量:22


9月7日、8日,2018 ODF 开源数据库论坛,在北京盛大开幕。在大会上,巨杉数据库正式发布了巨杉全新的MySQL/MariaDB兼容架构,并将项目正式开源。
巨杉数据库 MySQL兼容项目正式开源
开源数据库论坛(ODF)是中国开源数据库垂直领域的顶级峰会,旨在建立一个平台,以促进开源数据库产品发展和技术交流,帮助越来越多的企业了解和使用开源数据库。

在大会主论坛中,巨杉数据库联合创始人 & CTO王涛,介绍了SequoiaDB 3.0 对于MySQL兼容的机构以及兼容工具SequoiaSQL,同时也正式宣布SequoiaSQL项目正式向社区开源。

巨杉数据库 MySQL兼容项目正式开源
SequoiaSQL项目开源
SequoiaSQL此前是SequoiaDB数据库的SQL解析???,在经过1.0~3.0的发展,SequoiaSQL组件也实现了PostgreSQL、MySQL的兼容。

MySQL的分布式改造目前也是包括互联网行业在内的多个行业的一个共性需求,因此巨杉也决定将SequoiaSQL组件开源,一方面是将这一个MySQL的分布式方案和工具提供给业界和社区,解决更多应用中实际的数据库痛点;另一方面,也希望项目的开源,可以让社区参与到项目中,未来可以一同实现工具的通用化。

项目目前已经实现MySQL,PostgreSQL的支持,在未来,还会实现MairaDB的兼容支持,并且实现更多存储引擎的兼容对接。

巨杉数据库 MySQL兼容项目正式开源

SQL-存储分离架构
针对云数据库的需求和架构方向,一种新的数据库架构也在渐渐成为主流,也就是数据库的 “SQL-存储分离”架构。

SQL-存储分离架构,即指数据库的存储引擎和SQL引擎两部分互相松耦合独立工作的架构。通常这一架构,分为存储、SQL和元数据 三个部分。

?存储层:即数据库的存储引擎,存储引擎负责处理数据的存储管理。同时包含路由及事务控制,保障数据的ACID特性。此外,存储层还应还具备索引、查询条件过滤、排序等一系列功能。
?SQL层:SQL层主要负责处理SQL请求,上层直接面对应用程序,将应用程序的访问请求分发给存储层,并且接受存储层返回的数据结果。
?元数据区:元数据区负责存储整个数据库的所有元数据信息。
巨杉数据库 MySQL兼容项目正式开源
典型的云数据库架构示意

如上图所示,MySQL 的存储引擎可以挂载多种不同的产品,每个引擎都能提供不同的技术特性。其中包括InnoDB、MyISAM等架构。

存储与SQL分离的架构,目前在数据库业界十分流行,AWS的Aurora数据库在SQL访问上也采用了类似的架构。SequoiaDB 3.0 目前在MySQL兼容上,主要也是采取“SQL-存储分离“的架构。

巨杉数据库 MySQL兼容项目正式开源
SequoiaDB 3.0 MySQL 兼容架构

SequoiaDB 3.0使用了MySQL数据库原生的SQL解析器,天然支持MySQL协议并可以做到100%语法兼容。在该架构中,MySQL协议解析层作为SQL解析和分发的角色,直接面对应用程序,每一个MySQL服务的接入节点都是一个独立支持读写操作的MySQL进程。而数据存储和管理层,则完全由巨杉数据库的分布式数据库引擎实现。简单来说,SequoiaDB 3.0作为MySQL的InnoDB替换引擎,在天然支持MySQL的全部语法和功能的同时,提供了数据库存储层弹性扩张的能力。

转载自://blog.51cto.com/13722387/2175718



Spring Data Redis—Pub/Sub(附Web项目源码)
一、发布和订阅机制  当一个客户端通过PUBLISH命令向订阅者发送信息的时候,我们称这个客户端为发布者(publisher)?! 《币桓隹突Ф耸褂肧UBSCRIBE或者PSUBSCRIBE命令接收信息的时候,我们称这个
Java实现Redis持久化到数据库的关键方法
项目中有些使用的redis存储,当对redis进行rehash的时候感觉是比较麻烦的。于是写了个简单的读取redis到数据库的关键方法。仅供参考。packagecomredisweb;importjavautilDate;importjavautilIt
安装Redis数据库及scrapy_redis步骤教程
安装Redis数据库及scrapy_redis步骤教程。一、下载Redis安装包:下载Redis-x64-32100zip,并将其解压缩。二、安装Redis:1、打开cmd,切换到解压的文件夹下执行命令:redis-server--service-installrediswindowsconf--loglevelverbose
Redis数据库连接池实现
Redis数据库连接池实现。
redis介绍(非关系型数据库NOsql)
redis介绍(非关系型数据库NOsql)。使用C语言编写(性能好,快),开源:免费。内存。在内存操作数据,仅次于cpu
数据库操作学习之Redis数据基本操作
数据库操作学习之Redis数据基本操作。@概述:这里列举了键值对和其它数据类型的一些常用操作;@字符串操作举例
redis数据库中的通知功能实现教程
redis数据库中的通知功能实现教程。Redis数据库的通知主要用来获取数据库中的键的变化以及数据库中命令的执行情况。
Redis数据库的键值设计浅谈
Redis数据库的键值设计浅谈。丰富的数据结构使得redis的设计非常的有趣。不像关系型数据库那样,DEV和DBA需要深度沟通,review每行sql语句,也不像memcached那样,不需要DBA的参与。redis的DBA需要熟悉数据结构,并能了解使用场景。
什么是Redis?什么是nosql?NoSQL数据库的四大分类
什么是Redis?什么是nosql?NoSQL数据库的四大分类
本地连接阿里云数据库Redis服务的步骤
本地连接阿里云数据库Redis服务的步骤。1背景:公司买了阿里云的Redis服务,而不是传统的在阿里云的ECS主机上面搭建Redis服务,开发过程中需要在本地连接阿里云的Redis服务,也就是在本地使用Redis的可视化客户端连接云数据库Redis,但是云数据库Redis是支持外网连接的,