逆水行舟用力撑,一篙松劲退千寻。这篇文章主要讲述AppBoxFuture: 分而治之相关的知识,希望能为你提供帮助。
【AppBoxFuture: 分而治之】
文章图片
??系统数据量达到一定程度后必将采用分库分表的方式来提高系统性能,但传统的分库分表方式也必将带来更高的开发复杂程度。新一代的NewSql及NoSql数据库由于天生的分布式存储基因,既保证了能够横向扩展,又可以避免较高的开发复杂程度。AppBoxFuture框架的存储引擎借鉴了新一代分布式数据库分而治之的思想,在设计实体模型时可以指定分区键,存储引擎会根据分区键创建相应的RaftGroup(多个副本)。需要注意的是AppBoxFuture框架的分区策略与NewSql不同,NewSql一般采用自动分裂与合并的方式来管理分区,而框架采用的是一开始就指定分区键的方式,更类似于Cassandra的分区方式,但又不同于Cassandra的分区不能排序。
??在设计实体模型时先要估算数据量来确定是否需要分区存储,一般的基础信息如客户信息之类的不需要分区,但订单之类的动态数据,可以根据年或月份作为分区键,如果是SaaS类的应用,可以用租户Id + 期间作为分区键。
??作者录了个演示视频演示视频链接, 简单说明一下演示内容:
- 新建车辆状态(VehicleState)实体模型,加入VehicleId, Lng, Lat成员, 设置分区键为VehicleId;
- 新建测试服务并发插入8万条记录,计算每秒tps(演示视频20行 i < loopCount 应为 j < loopCount)。
文章图片
文章图片
??作者下一步的开发重点是:
- 设计与实现索引扫描api;
- 设计与实现聚合扫描api,可以并行聚合各分区;
- 实体间关系EntityRef, EntitySet实现。
文章图片
推荐阅读
- 亦跑APP官方下载亦跑官网,亦跑官方运营中心,亦跑服务中心客服系统,亦跑注册,亦跑怎么玩()
- Android控件ImageView的scaleType图解
- appium安装与部署
- Citrix XenApp工作原理
- Spring MVC 梳理 - 四种HandlerMapping
- 天天生鲜中关于app的配置问题
- Android Studio 创建不恰当的模拟器导致程序不正常运行
- Spring MVC 梳理 - handlerMapping和handlerAdapter分析
- .Net后台实现支付宝APP支付