MySQL等資料庫和大資料誰快?
自己原文公眾號: https://mp.weixin.qq.com/s/wyGjHLP2lSD0WhdJq5j4Ow
很多人都說資料庫處理不了,到大資料中去處理。似乎有一種錯誤的認識,好像大資料很快一樣?今天本文以MySQL為例。Oracle PG更加不用說了。
這個是MySQL的20多萬count一下和查一條。可見全部count0.28秒,找一條更加不在話下應該是1ms的。
將這個表用OGG送到HDFS,hadoop的檔案系統,用Hive來試試。HIve本來就是讀磁碟檔案。(其實這種MapReduce而且每次和磁碟互動的方式,而且HDFS還不支援修改。簡直是智障。)
好吧Hive中count一下24秒這裡之所以是50多萬,是因為源庫中update全表。而hive不支援修改,全過來。資料量翻了一倍,時間用了100倍。
查其中一條用了14秒。慢了10000倍。
那麼為什麼還有大資料系統?主要是hadoop裡面要是用hive去玩基本搞不動,一般都是impala去做的。區別是impala把hive的全部對映到記憶體中(再也沒有智障的IO互動了)。然後全是記憶體在抗,又有多個機器,記憶體就變成可擴充套件的了。代價是N臺強大的機器靠記憶體搞定。
不過各位看官看看,在百萬級別的單表MySQL也就是秒出。妥妥滿足要求,多表關聯MySQL不擅長。但是Oracle 擅長啊。而且這裡有一個非常重要的環節是無法迴避的。就是從RDBMS(Oracle/MySQL/PostgreSQL/SQLServer/DB2)這些資料庫做的修改和刪除,大資料系統天生無法做到實時,而且對應Update和Delete的處理是非常繁瑣,以至於在我個人看來,有這個時間和精力我不如把OLTP上的東西做做好,將OLTP做成HATP。一般的業務系統這樣做還是做得到的。
千萬不要以為報表天生就應該慢,我工作過的第二個公司,一天出一個報表一個報表15個小時。開發無法忍受找到我,只求一個小時完成。最後我處理後6秒出報表。所以報表不是就是慢,關係型資料庫不見得慢,hadoop也不見得快(事實上就是慢)。成見是一座大山。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2848077/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL資料庫快問快答MySql資料庫
- Oracle和MySQL資料庫CTAS等操作對比OracleMySql資料庫
- 使用Redis和Java進行資料庫快取 - DZone資料庫RedisJava資料庫快取
- Mysql資料庫-資料模型MySql資料庫模型
- MySQL資料庫資料管理MySql資料庫
- [資料庫]【MySQL】MySQL資料庫規範總結資料庫MySql
- 資料庫(MySQL)資料庫MySql
- MYSQL資料庫MySql資料庫
- 資料庫-MySQL資料庫MySql
- 資料庫 MySQL資料庫MySql
- mysql資料庫-資料結構MySql資料庫資料結構
- MySQL和PostgreSQL資料庫安全配置MySql資料庫
- 基於Docker部署Oracle、MySQL等資料庫的資料檔案持久化DockerOracleMySql資料庫持久化
- DataX將MySql資料庫資料同步到Oracle資料庫MySql資料庫Oracle
- 資料庫三大正規化 Mysql資料庫MySql
- MySQL—-MySQL資料庫入門—-第二章 資料庫和表的基本操作MySql資料庫
- MySQL資料庫遷移與MySQL資料庫批量恢復MySql資料庫
- Ibatis批量更新資料(mysql資料庫)BATMySql資料庫
- 寶塔資料庫恢復 mysql資料庫丟失恢復 mysql資料庫刪除庫恢復 寶塔mysql資料庫恢復資料庫MySql
- mysql,sqlserver資料庫單表資料過大的處理方式MySqlServer資料庫
- 大資料教程之《MYSQL資料庫》TCL語言和DCL語言大資料MySql資料庫
- 客快物流大資料專案(五十一):資料庫表分析 物流專案 資料庫表設計大資料資料庫
- 大資料4.2 -- hive資料庫大資料Hive資料庫
- MySQL 資料庫操作MySql資料庫
- MySQL資料庫(二)MySql資料庫
- 【6】MySQL資料庫MySql資料庫
- Mysql建立資料庫MySql資料庫
- 1.4 資料庫和常用SQL語句(正文)——MySQL資料庫命令和SQL語句資料庫MySql
- mysql資料庫新增和修改欄位MySql資料庫
- 「MySQL」資料庫備份和還原MySql資料庫
- 下載和安裝MySQL資料庫MySql資料庫
- 資料庫查詢和資料庫(MySQL)索引的最佳化建議資料庫MySql索引
- MySQL 資料庫的提速器-寫快取(Change Buffer)MySql資料庫快取
- 2019資料庫趨勢研究:誰是最受青睞的資料庫?資料庫
- python資料插入連線MySQL資料庫PythonMySql資料庫
- 資料庫 MySQL 資料匯入匯出資料庫MySql
- 【MySQL 資料庫】MySQL目錄MySql資料庫
- 【資料庫資料恢復】linux系統下MYSQL資料庫資料恢復案例資料庫資料恢復LinuxMySql