『壹』 hadoop與傳統的關系型資料庫(如oracle)相比,有什麼優勢及劣勢
hadoop的hdfs支持海量數據量存儲 maprece支持對海量數據的分布式處理x0dx0aoracle雖然可以搭建集群 但是當數據量達到一定限度之後查詢處理速度會變得很慢 且對機器性能要求很高x0dx0a其實這兩個東西不是同類 hadoop是一個分布式雲處理架構,傾向於數據計算 而oracle是一個關系型資料庫,傾向於數據存儲。要說比較可以比較hbase與oracle。x0dx0ahbase是一種nosql資料庫,列式資料庫,支持海量數據存儲,支持列的擴展,但是查詢操作較復雜,不如oracle這類關系型資料庫簡單,且只支持一個索引,但是Hbase在表結構設置合理情況下,查詢速度跟數據量大小沒有太大關系,即數據量的大小不會影響到查詢速度,順便說句Hbase查詢速度可以達到ms級
『貳』 hadoop與其他nosql資料庫的區別
NoSQL是非關系型資料庫,Hadoop框架中的HBase即為NoSQL資料庫。
Hadoop是分布式軟體框架,他有很多子模塊,包含HDFS、MapRece以及HBase。
『叄』 關系型資料庫與Hadoop的本質區別在什麼地方
都是分布式並行處理,本質一樣,不同的是應用場景不一樣:
1、hadoop是個輕量級的產品,又是開源的,不像dpf那麼復雜,還要購買商業軟體,搭個DPF環境需要費挺大力氣的。
2、hadoop能處理半結構化,非結構化數據。
但hadoop要寫map rece函數,這個比起SQL來,方便靈活性差太多了。
在處理結構化數據方面,MPP的資料庫性能其實不比hadoop差,只是一提起MPP就會
想到要伺服器,外部存儲,光纖網路,還要做很好的規劃,覺得成本很高,所以都去追捧hadoop了。
『肆』 非關系型資料庫主要包括幾類各有什麼特點
NoSQL描述的是大量結構化數據存儲方法的集合,根據結構化方法以及應用場合的不同,主要可以將NoSQL分為以下幾類。
(1)Column-Oriented
面向檢索的列式存儲,其存儲結構為列式結構,同於關系型資料庫的行式結構,這種結構會讓很多統計聚合操作更簡單方便,使系統具有較高的可擴展性。這類資料庫還可以適應海量數據的增加以及數據結構的變化,這個特點與雲計算所需的相關需求是相符合的,比如GoogleAppengine的BigTable以及相同設計理念的Hadoop子系統HaBase就是這類的典型代表。需要特別指出的是,Big Table特別適用於MapRece處理,這對於雲計算的發展有很高的適應性。
(2)Key-Value。
面向高性能並發讀/寫的緩存存儲,其結構類似於數據結構中的Hash表,每個Key分別對應一個Value,能夠提供非常快的查詢速度、大數據存放量和高並發操作,非常適合通過主鍵對數據進行查詢和修改等操作。Key-Value資料庫的主要特點是具有極高的並發讀/寫性能,非常適合作為緩存系統使用。MemcacheDB、BerkeleyDB、Redis、Flare就是Key-Value資料庫的代表。
(3)Document-Oriented。
面向海量數據訪問的文檔存儲,這類存儲的結構與Key-Value非常相似,也是每個Key分別對應一個Value,但是這個Value主要以JSON(JavaScriptObjectNotations)或者XML等格式的文檔來進行存儲。這種存儲方式可以很方便地被面向對象的語言所使用。這類資料庫可在海量的數據中快速查詢數據,典型代表為MongoDB、CouchDB等。
NoSQL具有擴展簡單、高並發、高穩定性、成本低廉等優勢,也存在一些問題。例如,NoSQL暫不提供SQL的支持,會造成開發人員的額外學習成本;NoSQL大多為開源軟體其成熟度與商用的關系型資料庫系統相比有差距;NoSQL的架構特性決定了其很難保證數據的完整性,適合在一些特殊的應用場景使用。
『伍』 有哪些輕型的非關系型資料庫
常見的非關系型資料庫有:1、mongodb;2、cassandra;3、redis;4、hbase;5、neo4j。其中mongodb是非常著名的NoSQL資料庫,它是一個面向文檔的開源資料庫。
常見的幾種非關系型資料庫:
1、MongoDB
MongoDB是最著名的NoSQL資料庫。它是一個面向文檔的開源資料庫。MongoDB是一個可伸縮和可訪問的資料庫。它在c++中。MongoDB同樣可以用作文件系統。在MongoDB中,JavaScript可以作為查詢語言使用。通過使用sharding MongoDB水平伸縮。它在流行的JavaScript框架中非常有用。
人們真的很享受分片、高級文本搜索、gridFS和map-rece功能。驚人的性能和新特性使這個NoSQL資料庫在我們的列表中名列第一。
特點:提供高性能;自動分片;運行在多個伺服器上;支持主從復制;數據以JSON樣式文檔的形式存儲;索引文檔中的任何欄位;由於數據被放置在碎片中,所以它具有自動負載平衡配置;支持正則表達式搜索;在失敗的情況下易於管理。
優點:易於安裝MongoDB;MongoDB Inc.為客戶提供專業支持;支持臨時查詢;高速資料庫;無模式資料庫;橫向擴展資料庫;性能非常高。
缺點:不支持連接;數據量大;嵌套文檔是有限的;增加不必要的內存使用。
2、Cassandra
Cassandra是Facebook為收件箱搜索開發的。Cassandra是一個用於處理大量結構化數據的分布式數據存儲系統。通常,這些數據分布在許多普通伺服器上。您還可以添加數據存儲容量,使您的服務保持在線,您可以輕松地完成這項任務。由於集群中的所有節點都是相同的,因此不需要處理復雜的配置。
Cassandra是用Java編寫的。Cassandra查詢語言(CQL)是查詢Cassandra資料庫的一種類似sql的語言。因此,Cassandra在最佳開源資料庫中排名第二。Facebook、Twitter、思科(Cisco)、Rackspace、eBay、Twitter、Netflix等一些最大的公司都在使用Cassandra。
特點:線性可伸縮;;保持快速響應時間;支持原子性、一致性、隔離性和耐久性(ACID)等屬性;使用Apache Hadoop支持MapRece;分配數據的最大靈活性;高度可伸縮;點對點架構。
優點:高度可伸縮;無單點故障;Multi-DC復制;與其他基於JVM的應用程序緊密集成;更適合多數據中心部署、冗餘、故障轉移和災難恢復。
缺點:對聚合的有限支持;不可預知的性能;不支持特別查詢。
3、Redis
Redis是一個鍵值存儲。此外,它是最著名的鍵值存儲。Redis支持一些c++、PHP、Ruby、Python、Perl、Scala等等。Redis是用C語言編寫的。此外,它是根據BSD授權的。
特點:自動故障轉移;將其資料庫完全保存在內存中;事務;Lua腳本;將數據復制到任意數量的從屬伺服器;鑰匙的壽命有限;LRU驅逐鑰匙;支持發布/訂閱。
優點:支持多種數據類型;很容易安裝;非常快(每秒執行約11萬組,每秒執行約81000次);操作都是原子的;多用途工具(在許多用例中使用)。
缺點:不支持連接;存儲過程所需的Lua知識;數據集必須很好地適應內存。
4、HBase
HBase是一個分布式的、面向列的開源資料庫,該技術來源於 Fay Chang 所撰寫的Google論文「Bigtable:一個結構化數據的分布式存儲系統」。就像Bigtable利用了Google文件系統(File System)所提供的分布式數據存儲一樣,HBase在Hadoop之上提供了類似於Bigtable的能力。
HBase是Apache的Hadoop項目的子項目。HBase不同於一般的關系資料庫,它是一個適合於非結構化數據存儲的資料庫。另一個不同的是HBase基於列的而不是基於行的模式。
5、neo4j
Neo4j被稱為原生圖資料庫,因為它有效地實現了屬性圖模型,一直到存儲層。這意味著數據完全按照白板的方式存儲,資料庫使用指針導航和遍歷圖。Neo4j有資料庫的社區版和企業版。企業版包括Community Edition必須提供的所有功能,以及額外的企業需求,如備份、集群和故障轉移功能。
特點:它支持唯一的約束;Neo4j支持完整的ACID(原子性、一致性、隔離性和持久性)規則;Java API: Cypher API和本機Java API;使用Apache Lucence索引;簡單查詢語言Neo4j CQL;包含用於執行CQL命令的UI: Neo4j Data Browser。
優點:容易檢索其相鄰節點或關系細節,無需連接或索引;易於學習Neo4j CQL查詢語言命令;不需要復雜的連接來檢索數據;非常容易地表示半結構化數據;大型企業實時應用程序的高可用性;簡化的調優。
缺點:不支持分片
『陸』 GreenPlum和Hadoop什麼關系
GreenPlum採取的是PostgreSql框架,是PostgreSql系的重要應用。從這個角度上可以知道GreenPlum是關系型資料庫。
Hadoop框架是一種分布式的平台設計理念。它本身不是資料庫。其中Impala可以認為是一種非關系型的資料庫, Hive相當於SQL。
分布式,是多個方面的,最主要是存儲方面。GreenPlum的分布式主要體現在多個機器文件存儲,授權等方面。而Hadoop的文件管理方面,也是分布式的,因為只有分布式的部署才能最大效力的發回Hadoop的功能。
因此可以認為GreenPlum和Hadoop沒有直接關系。
『柒』 Hbase和Hive在Hadoop中的功能有什麼聯系他們怎麼分別作業的.兩個資料庫不會有重復信息導致資源浪費嗎
簡單來說hive用來批量處理數據,HBase用來快速索引數據。
HBase是一個分布式的基於列存儲的非關系型資料庫。HBase的查詢效率很高,主要由於查詢和展示結果。
hive是分布式的關系型資料庫。主要用來並行分布式 處理 大量數據。hive中的所有查詢除了"select * from table;"都是需要通過Map\Rece的方式來執行的。由於要走Map\Rece,即使一個只有1行1列的表,如果不是通過select * from table;方式來查詢的,可能也需要8、9秒。但hive比較擅長處理大量數據。當要處理的數據很多,並且Hadoop集群有足夠的規模,這時就能體現出它的優勢。
通過hive的存儲介面,hive和Hbase可以整合使用。參見:http://wenku..com/view/faec57fb04a1b0717fd5dd00.html?st=1
『捌』 hadoop和mysql區別
hadoop和mysql嚴格的來說沒有任何關系,區別為hadoop是一種分布式計算框架,用於處理大量的數據,而mysql是資料庫用來存放數據的。
但是一般來說,配合hadoop的資料庫不是mysql這類傳統的關系型資料庫,因為當數據量非常大的時候,這些資料庫的處理速度會非常慢(就算做了集群也一樣慢),取而代之的則是hbase這類非關系型資料庫,在大量數據處理過程中,處理速度會比較穩定。
2. hadoop跟mysql的區別是什麼?
舉個簡單的例子。mysql就是一個麻袋,裡面裝的是數據。而hadoop則是一種很強大的工具,它的作用就是去處理包括這些麻袋在內的大數據。
所以,實際上他倆是不存在直接關系的。