一、十億級別,應該用什么數據庫和解決方案
可以考慮Elasticsearch,它是一款免費的分布式開源搜索和分析引警,Elasticsearch集群能處理PB級別的數據存儲、查詢以及分析。被廣泛應用于企業級的場景,如: 海量日志存儲,運維監控,數據分析,信息檢索等領域。
如果只是簡單場景查詢的話,建議直接使用滿N叉樹結構,N值可以設置的足夠大到內存可以分配的程度。
對原始數據先直接構造上面結構存入硬盤,讀取一次按照N叉樹結構讀取一層。
這種方式可以保證最大程度的查詢效率,但無法對數據進行更新和刪除,如果說有需要更新和刪除操作,建議還是使用B樹結構,數據庫可直接使用商用和開源的成熟產品。
延伸閱讀:
二、什么是數據庫
數據庫就是英文的“database”翻譯來的,data + base,故名思義就是數據的根源,數據的基礎。那么為什么要有數據庫呢,數據庫首先是個計算機軟件,在所謂數據庫誕生之前,常用方法可能是程序員自己寫一個小程序來完成數據處理分析這樣的工作。
伴隨著計算機的普及,越來越多的場景開始使用計算機,產生了越來越多的數據,也催生了越來越多的數據分析需求。為了降低數據分析的門檻,讓更多人能夠更方便高效地管理分析數據,工程師們就打造了一種專門的軟件來幫助人們對數據進行合理的存儲以提高存取效率,提供易用的接口和豐富的分析算法以方便使用,集成有效的管理工具以提高數據安全性等等,這就是數據庫,也被稱為數據庫管理系統(DBMS,Database management system)。
數據庫是一整套數據管理體系,包括數據存儲的模型、數據組織的架構、數據分析的算法、數據管理的工具以及數據訪問的接口等等。