1、内存MPP数据库介绍,RapidsDB核心架构,核心特点,全内存分布式数据库,高性能,高吞吐量ACID事务型数据库支持SQL语句高性能存储过程高可用性动态数据导出异地灾备,动态迁移,与传统数据库和NoSQL对比,去锁无磁盘IO(除持久化功能外)CPU线程绑定无切换多副本保证高可靠高性能命令日志擅长高并发低延时应用多节点,线性提升性能可运行在任何普通服务器上单节点可达到每秒20万事务,与传统数据库对比,与NoSQL系统对比,支持SQL支持复杂事务逻辑支持多分区事务强一致性在线扩容,评测结果:TPC-C,Dell R610, 双4核2.66Ghz Intel Xeon 5550处理器12条4GB
2、(48GB) DDR3-1333 registered ECC内存3块72GB 15000转企业级SAS硬盘,Dell R510, 双6核2.93Ghz Intel处理器64GB DDR3-1333 ECC内存10Gb以太网3个服务器节点,副本数为1,每台服务器10个执行引擎1台压测机,异步调用事务测试应用:一个表存有键和值,键为32B的字符串,值是1KB的字符串。90%查询,10%写操作。,评测结果:Key-Value,用例,RapidsDB用例金融领域,记录当天每笔股票交易对每笔交易进行风险评估和监控实时反应当前整体交易情况RapidsDB优势:高吞吐极短时间内对交易做出风险评估判断低成本
3、,RapidsDB用例互联网广告,存储客户投放需求及账户余额每次广告请求发生时:找出所有满足需求账户竞标更新账户信息及余额RapidsDB优势:精确控制广告投放数据总量在10亿级,5台服务器轻松处理高并发请求,每秒处理4万6千事务降低广告请求延时到5毫秒内低成本,RapidsDB用例网游,存储用户游戏参数、分数及目前状态显示用户排名RapidsDB优势:处理大量在线用户的高并发状况低延时保证流畅游戏体验低成本社交网络游戏平台Social Game Universe使用RapidsDB搭建电视选秀投票系统。百万人投票,峰值20万人同时投票。,数据分区,分区表数据量较大或写较多的表每个分区绑定到每
4、台服务器的一个CPU核心客户端无需担心数据的位置复制表通常为较小或读操作较多的表复制到每台服务器较少跨节点操作作为开发者,只需指定每个分区表的分区键,RapidsDB会自动根据键值将数据分区。,RapidsDB扩展模型,分区表被自动切分到不同分区每个分区绑定一个CPU核心复制表在每台服务器有一个副本,分区内部结构,每个分区存储不同数据,有独立的执行引擎单线程执行该分区所有事务事务执行不中断,事务队列,执行引擎,表数据索引数据,数据库事务,事务可为单一SQL语句或存储过程执行成功自动提交所有事务均保证ACID(强一致性)存储过程支持Java语言,可嵌入多个SQL语句将执行放到数据端,而非客户端客
5、户端有Java,C+,Node.js,C#,PHP,Python,Ruby,Erlang客户端库JDBC、JSON、HTTP客户端可联接到任何一个数据库节点,事务执行,事务会被自动传到数据所在分区执行,事务执行(续),单分区事务所需数据在一个分区完全独立于其他分区执行多分区事务所有分区需同时执行该事务,集群,容错机制:k-safety,通过k-safety实现,k为副本数量任何写操作都在所有副本上同步执行,并通过CRC32校验是否一致读事务可在任何一个副本运行持续化也同时在所有副本进行只要数据库至少还有一个完整副本,集群就可用服务器宕机后可以重新加入集群恢复副本数量,容错机制,网络分区发生时,
6、为保证数据一致性,RapidsDB根据以下条件终止一部分分区节点数较少的分区终止两个分区节点数一致时,其中一个分区自动终止,SQL支持,SELECT, INSERT, UPDATE, DELETESQL支持AVG, COUNT, MAX, MIN, SUM等 (SQL函数列表)SQL LIKE子查询视图JSON值SQL支持仍在不断增加不支持的功能可通过Java存储过程实现针对在线事务处理优化非分析型事务引擎,企业版功能,持续化数据库集成数据库复制在线扩展管理与监控,持续化,1、所有磁盘数据均配有CRC32校验码2、同步日志保证最强的持续性,但对硬盘性能要求较高3、异步日志持续性偏弱,但对硬盘要
7、求较低4、日志缓存根据设置的fsync频率写到硬盘,持续化(续),使用快照从磁盘快速恢复数据快照恢复在所有节点并行读取磁盘数据,充分利用磁盘带宽快照恢复后,所有节点并行恢复日志事务,与分析型数据库或Hadoop集成,特点:1、数据流实时导出。2、 数据流输出格式多样性。3、数据流内存溢出保护。4、自定义数据流导出接收器,方便用户扩展5、批量写HDFS,写入速度快,数据库复制,在线扩展,增加存储容量提高事务处理能力缓解服务器压力新增节点在后台移动数据,不影响线上应用可控制数据移动速度高速:短时间内完成,但可能对线上应用有影响低速:需要时间较长,但对线上应用基本无影响,管理与监控,轻松管理节点数监控数据库性能与数据库剥离,不影响数据库可用性,