作為 Database Weekly 的編輯(Database Weekly 是一份關于數據庫和數據存儲世界新內容的每周時事資訊),我喜歡在新的數據庫系統中閑逛,看看在未來的幾十年里,哪些想法可能會影響到日常的開發人員。
數據庫世界并不是每周都有讓人不可思議的新聞,但在一年的時間里,我還是驚訝地發現,我們看到了很多新事物,以及該領域堅持不懈地發展。2017 年也不例外,所以我想回顧一下一些有趣的新發行版,包括一個事務性圖表數據庫,一個可復制的地理多模型數據庫,以及一個新的高性能鍵/值存儲數據庫。
TimescaleDB — 一款基于 Postgres 的能自動分區的時間序列數據庫
其中一個令人興奮的新擴展源于 PostgreSQL,Timescale 基于 Apache 2.0 的許可,它是由一個名為 PhD-packed 的機構支持啟動的。
Timescale 通過自動分區為 Postgres 添加時間序列存儲功能,但是卻包含在尋常的 Postgres 界面和工具中。 查詢是使用常規的 SQL 對“提供與時間序列數據的接口” 的 “hypertable” 進行的。
Microsoft Azure Cosmos DB — 微軟的多模式數據庫
Cosmos DB 本質上是 Azure 的舊的 DocumentDB 的品牌重塑和重新構建,但是它很容易實現將全球分布式數據跟 Azure 的多樣數據中心交叉。全球分布是 Cosmos DB 的殺手锏,并且它可以將數據庫請求路由到包含數據的最近區域,而不需要更改配置。
“多模式”的部分也很重要。雖然一切都在無模式的 JSON 的引擎蓋下,但依然有一個 SQL 查詢 API ,以及 MongoDB API、Cassandra API,甚至一個圖形數據庫 API(基于 Gremlin )。
學習更多關于 Cosmos 的較好的方式之一是這個微軟的第9頻道的 15 分鐘視頻介紹。
Cloud Spanner — Google 全球分布式關系數據庫
Google 的 Cloud Spanner 已經工作了很長一段時間了,起初是在 2012 年一篇非常有趣的學術論文中公開闡釋的(雖然開發始于 2007 年)。最初的開發是因為 Google 需要一個全球化分布式的高可用性存儲系統,但其現在也向公眾開放。
谷歌認識到,使 Cloud Spanner 適合其自身用途的功能對企業也很有吸引力,因此它承諾 99.999% 的可用性、無計劃停機時間和“企業級”安全性。
Cloud Spanner 支持 ANSI 2011 SQL ,為已熟悉關系數據庫概念的開發人員提供了經過戰斗級測試的高可用性水平擴展的關系數據庫。
Neptune — Amazon 的全面管理圖形數據庫服務
Microsoft 和 Google 我們都已經講到了, 所以怎么能漏了 Amazon 呢? 這是另外一個受限于特定云服務的數據庫, Amazon 在最近召開的 re:Invent 大會上展示了 Neptune 的預覽。
Neptune 承諾會是一個快速且可靠的圖形數據庫服務,其目的是能迅速地為開發者提供圖形數據庫服務,并且不會讓他們感到麻煩,當然這些是要付費的。
Neptune 支持用兩種標準來對你的圖形庫進行查詢, 一個是得到越來越多的支持的 Gremlin 的“黃金”標準,還有就是 SPARQL (你的圖形會被當作是一個 RDF )。
YugaByte — 一個開源的云原生數據庫
YugaByte 今年因其“隱形模式”脫穎而出,它提供了一個支持 SQL 和 NoSQL 操作模式的數據庫。目的是在云中直接使用,充當對容器的有狀態補充。
YugaByte 使用 C ++ 構建并開源,支持 Cassandra 查詢語言(CQL)以及 Redis 協議。 對 PostgreSQL 協議的支持正在進行中,Spark 應用可在上面運行。
YugaByte 是另一個啟動后才受到支持的項目(由擴展了 Apache HBase 平臺的一位 Facebook 工程師創建),其業務模式初定是會有一個“企業版”,在開源社區版的基礎上增加多云集群協調 ,監視和警報,分層存儲和支持等特性。
Peloton — 一個自驅動的 SQL DBMS
Peloton 探索了一些有趣的想法,特別是在使用 AI 來自動優化數據庫的領域。它還支持字節尋址 NVM 存儲技術,并且是使用 Apache 許可開源的。
“自驅動”數據庫背后的想法是,DBMS 可以自主操作和調整自身。它可以預測工作負載的趨勢,并據此做好準備,而無需 DBA 或操作員掌控。
也許毫不奇怪的是,Peloton 源于一個學術項目(特別是來自卡內基梅隆大學),其創建者之一寫了一篇關于為什么它被創建的系列文章。它已經開發好幾年了,但在 2017 年變得更加開放。
JanusGraph — 一個基于 Java 的分布式圖形數據庫
JanusGraph 是一個實用的、隨時可用的數據庫,其中包含大量的集成,并且建立在 TitanDB 的堅實基礎之上。它針對可擴展性、存儲及查詢巨大圖形數據庫做了優化,同時支持事務和大量并發用戶。
它可以使用 Cassandra、HBase、Google Cloud Bigtable 和 BerkeleyDB 作為存儲后端,并且可以與 Spark、Giraph 和 hadoop 直接整合。它甚至支持與 ElasticSearch、Solr 或 Lucene 集成的全文和地理位置檢索。
Aurora Serverless — AWS 上即時可伸縮,“即付即用”的關系型數據庫
另一個來自 Amazo re:Invent 會議的公告是他們成功的 Aurora 數據庫服務的無服務器版本,Aurora Serverless。
隨著整合到“無服務器”平臺的最新趨勢,這個平臺將永遠消除你在擴展和操作上的難題,Aurora Serverless背后的理念是許多數據庫用例不需要一致的性能或使用水平,相反,你可以“隨時付費”(逐秒付費),以便按需調整數據庫的大小。
它目前僅是預覽版,但承諾在 2018 年會有重大進展。
TileDB — 用于存儲大密度及稀疏矩陣數組
TileDB 是起源自麻省理工學院和英特爾的數據庫,用于存儲多維陣列數據,這是類似基因科學、醫學成像和金融時間序列等領域常見的要求。
它支持許多壓縮機制(如 gzip、lz4、Blosc 和 RLE )和存儲后端(如 GFS、S3 和 HDFS )。
Memgraph — 一個高性能、可內存駐留的圖形數據庫
Memgraph 背后的驅動力是為快速分析和使用來自人造和機器智能的數據以及設備和物聯網不斷增長的互聯性提供工具。因此,優先事項是“速度、可伸縮和簡單性”。
在 Memgraph 的生命周期中,它還處于早期階段,它不是開源的,但可以通過 request 下載。它支持 openCypher 圖形查詢語言,支持內存中的 ACID 事務,并具有基于磁盤的持久化機制。