單表10億條記錄(100G左右)的數據用哪個資料庫較好?
02-01
機器配置不高,想把1000多個數據量在100萬~300萬的表合成一個大表。
數據的插入更新基本為零,查詢較多。希望是開源的,方便搭建。
你這問題描述,怎麼看都是社工庫。對於你這種人,我只想說,地址發我。
數據的插入更新基本為零,查詢較多。
數據有7列,除了id列外,其他列都需要建索引。
用列式資料庫或引擎是最適合的。mysql有infobright引擎可以用。monetdb也不錯,都是支持SQL的。nosql界的cassandra, hbase也是列式存儲,看喜好了。
什麼是比較好??這個你沒有說啊……
如果是單純追求速度,還不差錢,那麼V大的很適合你
如果是有多台機器,追求速度,那麼你可以做分散式資料庫……咳咳,我的guzzMinus框架正好可以用~王政 / GuzzMinus用我的框架的話可以避免一些麻煩的查詢~~
至於引擎……多數情況下都是用InnoDB了啦~反正MyISAM(是叫這個名字來著吧???)坑很多……區區100G,找個牛逼的機器裝內存里得了。這點數據你用什麼資料庫都體現不出差別的。
既然是學習,為何不逐個資料庫測試一下,看看區別到底在哪,還可以指導後人
-------------------------------------2014-07-03
千萬級的表我只試過MySQL,默認配置,MyISAM,大約4G內存,P4CPU,CentOS6.4,join查詢慢到shi。熱門的開源DB系統你都可以試試,如MySQL/PG;還有非關係型DB你也可以試試。我自己打算試試這個:webscalesql/webscalesql-5.6 · GitHubMariaDB 或者Percona
TokuDB 引擎不謝白帽子們關注下中國公民身份信息中心。
可以用分表技術,使用hash演算法取模,進行分表,也不是伺服器多大配置就能解決問題
mysql+讀寫分離,妥妥的!
100G而已,連sharding都不需要的如果用 mysql,看你需要不需要使用事物處理等功能,如果不需要那麼就用 MyISAM。
另外可以考慮 MariaDB,Mysql 一個分支,性能不錯,兼容 Mysql 驅動。推薦閱讀: