一、SQL Server 2014的集成內存OLTP(Hekaton)有什么戰略意義
1、SQL Server本來就是in memory的,任何數據庫都會用大量內存去cache磁盤數據,所以未來內存越來越大并不是用in memory字面意思就能說明的優勢。
2、oltp除非降低可靠性,憑什么in memory能提高性能?都要落盤和集群才能言及可靠性,然而這一個是磁盤為主的問題,一個是網絡為主的問題,in memory到底在哪里產生了建樹?
3、據我所知sql server本來就支持mvcc的,只是默認沒開snapshot級別的事務模式,snapshot我理解就是multi-version的意思,不知道對不對。
我憑空推測下,in memory表如果要做到實質性的提升,可能主要就是優化內存里的數據結構而不是經典的cache模式,比如列存儲,拋棄btree(為磁盤設計的)等。
然后是增加很多in memory適合做的東西,比如高并發的鎖操作。一臺數據庫就能做到隊列的功能,并能保證可靠性。
但是對于oltp,必須落盤的東西,除了改變落盤策略,通過降低可靠性提高性能,其他還真想不到能怎么提升。但是降低可靠性提升性能的落盤策略,同樣適用于普通表。
延伸閱讀:
二、什么是數據庫
有組織且相互關聯的數據的集合稱為數據庫。database 是一個存儲數據的應用程序。它有各種應用程序,包括 MySQL、Microsoft SQL、Oracle 等。
每個數據庫都不同,因為每個公司/組織都有其結構、數據類型和約束。數據庫 會定期更新,以獲取有關公司的最新數據。
數據庫可以手動和數字方式維護。在這個數據無處不在的時代,數字數據庫是優選和使用。數據庫的大小取決于組織的數據和需求。
數據庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型數據庫系統都在各個方面得到了廣泛的應用。
數據庫是“按照數據結構來組織、存儲和管理數據的倉庫”。在經濟管理的日常工作中,常常需要把某些相關的數據放進這樣“倉庫”,并根據管理的需要進行相應的處理。
例如,企業或事業單位的人事部門常常要把本單位職工的基本情況(職工號、姓名、年齡、性別、籍貫、工資、簡歷等)存放在表中,這張表就可以看成是一個數據庫。
有了這個”數據倉庫”就可以根據需要隨時查詢某職工的基本情況,也可以查詢工資在某個范圍內的職工人數等等。這些工作如果都能在計算機上自動進行,那的人事管理就可以達到極高的水平。
此外,在財務管理、倉庫管理、生產管理中也需要建立眾多的這種“數據庫”,使其可以利用計算機實現財務、倉庫、生產的自動化管理。