Zaf*_*far 21 sql-server redis memory-optimized-tables
SQL Server 2014的内存中OLTP(Hekaton)与Redis的概念是相同还是相似?
我使用Redis进行内存存储(存储在RAM中)和缓存,同时使用单独的SQL Server数据库(如StackExchange).Hekaton可以做同样的事情吗?
Man*_*ham 23
它们主要在记忆中是相似的,但这就是它.
Redis是一个内存中的键值数据库.如果配置它,它可以将数据保存到磁盘,但它会将整个数据集保留在内存中,因此您需要足够的RAM.键值体系结构允许各种不同的数据类型,因此您可以将值存储为简单的字符串或列表,集合,哈希等.基本上,您可以在编程语言中使用的所有数据结构都可以在本机中使用.
SQL Server Hekaton(内存中OLTP)是一种新的引擎,用于在内存中运行关系表.这些表的所有数据都保存在RAM中,但也存储在磁盘中,因此它们非常耐用.
Hekaton可以在SQL Server数据库中获取单个表,并使用MVCC(而不是页面和锁)和其他优化在不同的进程中运行它们,因此操作比传统的基于磁盘的引擎快数千倍.进行了大量的研究,主要的用例是采用负载较重的表并将其切换到内存中运行以提高性能和可伸缩性.
Hekaton并不打算在内存中运行整个数据库(尽管你可以这样做,如果你真的想这样做),而是作为一个新的引擎,设计用于处理特定情况,同时保持界面相同.最终用户的所有内容与SQL Server的其余部分完全相同:您可以使用SQL,存储过程,触发器,索引,ACID属性的原子操作,并且可以在常规表和内存表中无缝地处理数据.
由于Hekaton的性能潜力,如果您需要速度并希望在传统关系表中建模数据,则可以使用它来替换Redis.如果您需要Redis的其他键值和数据结构功能,那么最好还是坚持下去.
使用SQL 2016 SP1和更新版本,SQL Server的所有层现在都可以访问相同的功能,唯一的区别是支持和容量的定价.
| 归档时间: |
|
| 查看次数: |
5246 次 |
| 最近记录: |