【云小課】【第7課】GaussDB(for Cassandra)數據庫簡介
Apache?Cassandra數據庫概述
Apache?Cassandra是大規模可擴展的開源型NoSQL數據庫,適合管理跨多個數據中心和云的大量的結構化、半結構化和非結構化數據。
Cassandra在多臺商用服務器上具備持續可用、線性可擴展,操作簡單,且無單點故障等特點,具備強大的動態數據模型,可以實現靈活性和快速響應時間。
Cassandra使用優勢
Cassandra的可擴展架構意味著它能夠每秒處理PB級的信息和數千個并發用戶或操作。
分區式行存儲數據庫
Cassandra的架構允許任何授權用戶連接到任一數據中心中的任一節點,并使用CQL語言訪問數據。為了便于使用,CQL使用了與SQL相似的語法。與Cassandra互動的基本的方式是使用CQL shell,cqlsh。使用cqlsh,您可以創建鍵空間和表、插入和查詢表等操作。
自動化數據分發
Cassandra對所有參與到環(ring)或數據庫集群的節點自動提供數據分發服務。由于數據在集群中的所有節點上是透明的,所以開發人員或管理員無需通過編程或執行代碼來跨集群分發數據。
內置、可定制的備份
Cassandra提供了內置和可定制的備份策略,即在節點上存儲了冗余的數據副本。這意味著如果集群中的任何節點宕機,該節點數據的一個或多個副本可以在集群中的其他計算機上繼續使用。可以將備份配置為跨一個數據中心,多數據中心和多個云可用區工作。
線性可擴展
Cassandra具備線性擴展性,可以通過在線增加新的節點輕松實現擴容。
運行Cassandra所需的硬件類型和云環境
Cassandra可以在通用規格的商用硬件上運行,并適用于大部分云端商用環境。
Cassandra與關系型數據庫的區別
Cassandra開始是用于對等(p2p)通信的分布式數據庫。每張表對應一個查詢,對數據的反范式化(denormalized)設計使這樣的實踐成為可能。因此,盡管可以在客戶端側的應用中使用joins,但表之間JOINs不存在。
Cassandra常見問題
1.? 什么是NoSQL?
NoSQL通常被譯為“不僅僅是SQL”,它是一種不同于關系型或SQL數據庫存儲方法的數據庫。目前,NoSQL支持多種數據庫類型。
2.? 什么是CQL?
Cassandra查詢語言(CQL)是Cassandra數據庫管理系統的主接口。CQL與SQL(結構化查詢語言)用法類似。CQL和SQL共享由列與行組成的表的抽象概念。與SQL的主要區別在于Cassandra不支持joins和子查詢。相反的,Cassandra強調利用CQL的特性(如,schema級別指定的集合和集群)對數據反范式化。
推薦使用CQL與Cassandra交互,其出色的性能、易讀和易用等特點使當前的Cassandra相較于舊版更具優勢。
CQL文檔包含數據建模主題、示例和命令參考。
3.? 如何實現與Cassandra的交互?
與Cassandra交互基本的方法是使用CQL shell。使用cqlsh,您可以創建密鑰空間(keyspace)和表,插入和查詢表等更多操作。
4.? 如何在Cassandra中插入/刪除數據?
可使用CQL INSERT命令、CQL COPY命令、CSV文件或sstableloader插入數據。實際使用中,您需要考慮客戶端應用程序如何查詢表,并進行數據建模。
5.? Cassandra有哪些其他工具?
Cassandra自動安裝了命令行管理工具nodetool,以及默認安裝了用于加載和基本基準測試的工具cassandra-stress。
數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。