| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> 内存数据库选型之 Redis 与VoltActiveData比较 -> 正文阅读 |
|
[大数据]内存数据库选型之 Redis 与VoltActiveData比较 |
??· Client接入DB集群方式比较????Redis?常用方案如通过proxy来寻址分片,集群 扩缩容对业务层不透明。 ?VOLT?透明接入任意node,系统内部派发分 片事务。 ?· 与源数据库的数据同步 ??> 导入??Mysql同步数据到Redis?通过JedisCluster优化 - 管道(pipeline)模式导入,数据量大的情况下会造成内存溢出的情况,超百万数据要分批次执行。 ?Mysql同步数据到VOLT?执行连接mysql脚本可直接同步数据至VOLT。 ?> 导出??Redis同步数据到Mysql?通过异步队列方式将数据同步至MySQL: ?VOLT同步数据到Mysql?执行连接mysql脚本可直接同步数据至VOLT: ??Step1?? 在VOLT中创建流: ??Step2?? 在存储过程中调用流: ? · 事务支持?? ??Redis事务?Redis只支持单节点事务,集群模式下需要redis+lua脚本配合使用,? lua一般采用c/c++来编 写。 ?VOLT事务?VOLT 是一个完全符合 ACID 的关系型数据库,它使应用程序开发人员不必在自己的应用 程序中开发代码来执行事务和管理回滚。 ? · SQL标准化??Redis实现?Redis属于NoSql系列的数据库,它的存储结构是Key-Value,它并不像关系数据库那样提供 任何的SQL,像排序、聚合函数、? sql语句无法通过sql查询实现。 例:? 实现排序 只能通过有序集合(sorted set)组合score+时间的方法组合实现 ?VOLT实现??VOLT使用标准SQL,包括 CREATE INDEX,CREATE TABLE, CREATE VIEW ,SELECT, INSERT, UPDATE, DELETE操作等。学习成本和代码迁移成本很低,代码复用程度高,已经使用SQL 实现的应用,可以相对容易的迁移到VOLT。?? 同时VOLT还支持用户自定义函数,通过? Java编写并导入数据库,?? 用户自定义函数能在SQL语句中使用。 例:? 实现排序 ??· 热部署 ??Redis实现版本迭代?在项目中编写代码实现功能,版本迭代需要重新部署服务器。 ?VOLT实现版本迭代?VOLT通过编写存储过程实现,无需重启应用服务器,重新编译存储过程即可,? 保证程序 的稳定性。 程序中只需调用存储过程: ??· 双写一致性(数据库和缓存的同步)??Redis?业务层需要实现机制来保证缓存和数据库的一致。这意味着:
?VOLT?VOLT本身就是RDBMS,或者VOLT可以通过简单配置完成到源数据库的同步。 (可参见上文“VOLT同步数据到Mysql”) Redis?需要业务层加入实现机制才能保证不读到脏、过期数据。 比如“选择性读主”方案的实现流程为: ?VOLT?DB内部机制保证,对业务层透明。 开箱即用,不需要运维人员选择主从读取方式。 ??· 业务场景实现比较??> 对象具有多属性的场景??Redis?单对象多属性的业务场景非常基本。使用 redis存储多属性的情况下,需要业务层? 开发两层转换(如使用Hash存储,需要? 首先按照对象key查询得到dict,然后按? 属性名查询到value) ?VOLT?在一行内解决多属性的读写。 ?> 多类型的对象属性关联查询的场景??Redis?需要业务实现对象的属性解析,? 并根据业 务需要完成比较匹配、组合属性等。 ?VOLT?有RDBMS的优势,使用SQL完成关联 查询,解放开发人员。 ?> 键值自增自减原子操作??Redis?用于分布式应用系统的共享计数器,非常 高效。 ?VOLT?使用表列作为计数器,能保证原子操 作并同样高效。 ?总结?
??如果您希望集成VOLT到您的技术栈中,请与我们联系!?? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 5:37:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |