企业建设网站的作用,企业营销策划报告,wordpress商城主题手机版,wordpress 后台显示id最近一个朋友找到走起君#xff0c;咨询走起君内存优化表如何做高可用的问题 大家知道#xff0c;内存优化表是从SQL Server 2014开始引入#xff0c;可能大家对内存优化表还是比较陌生#xff0c;网上也鲜有内存优化表使用场景的文章 朋友公司做的业务是跟蜂鸟配送类似的配… 最近一个朋友找到走起君咨询走起君内存优化表如何做高可用的问题 大家知道内存优化表是从SQL Server 2014开始引入可能大家对内存优化表还是比较陌生网上也鲜有内存优化表使用场景的文章 朋友公司做的业务是跟蜂鸟配送类似的配送业务整个配送系统平台每天订单量超过30W 坐标问题 系统中某一个部分需要保存跑男的坐标 坐标需要保存到redis和数据库一旦坐标更新也需要更新redis中的数据 刚开始朋友用传统表来保存坐标数据但是很快遇到问题传统表在更新的速度跟不上 后来改用内存优化表使用了之后 刚开始上传坐标的接口延迟很大用了内存表100毫秒以内搞定 这些坐标是需要持久化的而内存优化表是完全支持ACID的所以也不需要担心数据丢失的问题 内存优化表更新速度快的另一个原因无锁机制 并发如闩锁争用或阻塞影响的应用程序迁移到内存中 OLTP 时其性能会显著提高。 大家知道内存优化表需要有一个非聚集哈希主键索引大概的表结构是 每个跑男占用一行记录 对应到redis里面大家应该都知道怎麽存储了吧使用redis的散列类型来存储跑男的坐标 hmset 跑男ID X坐标 value Y坐标 value 跑男在线时间 value
hmset 1 X坐标 12 Y坐标 10 跑男在线时间 60 因为数据库高可用的问题朋友就购置了新服务器用来搭建AlwaysOn新服务器都用SSD固态硬盘 内存优化表的瓶颈主要在事务日志固化虽然有延迟持久化但是延迟持久化在意外宕机的时候可能丢失部分数据 现在新服务器使用SSD固态硬盘之后事务日志固化的瓶颈基本消失 使用新服务器之后支撑30w/日订单是完全没有问题的 另一个问题是AlwaysOn问题 实际上SQL Server 2014的AlwaysOn集群已经支持内存优化表只是不支持在辅助副本上查询内存优化表数据在故障转移之后 辅助副本上的内存优化表数据是完全没有丢失的SQL Server 2016对AlwaysOn集群的内存优化表做了改进支持在辅助副本上查询内存优化表数据 总结 实际上如果大家对内存优化表研究比较深入的话内存优化表实际上相当于把redis嵌入到SQL Server再在上面加上事务等关系型数据库特性 因为两者实现的底层都是哈希表 注意内存优化表跟redis一样是纯内存操作的所以机器内存不能太小SQL Server在启动时候会把内存优化表数据库文件 里面的数据全部load入内存朋友的redis服务器和SQL Server服务器都用的256G内存内存还算足够 这篇文章写得比较粗糙最后祝大家新年快乐 原文地址http://www.cnblogs.com/lyhabc/p/6346640.html.NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注