題:
我應該使用哪個數據庫?本地存儲,每分鐘大約20次寫入,每分鐘1次讀取,每天將增長15MB
Stephen
2014-04-10 00:42:49 UTC
view on stackexchange narkive permalink

我正在建立一個自我跟踪系統來記錄例如手機的加速度計,鍵入的按鍵,鼠標的活動等等。

那我應該使用哪個數據庫?到目前為止,我的研究建議使用SQLite3,因為數據庫不會很大-我的計算每天會產生大約100萬條新(小)記錄,每天大約15MB。

我使用的某些軟件已經將其數據存儲在SQLite3數據庫中;我必須編寫很多特殊情況的代碼才能使用兩種不同類型的數據庫,還是相同的代碼就足夠了?

我個人會使用MySQL,但這完全是由於我對其他RDBM選項的熟悉。
我猜要求是SQL類型的數據庫?
與大多數RDBMS相比,@NickWilde: MySQL仍然受到更多限制,並且速度不再好得多。但是對於單用戶而言,SQLite比任何服務器野獸都要好。
SQLite3適用於大數據。我經常將其與數十GB的數據庫一起使用。它非常快,但是提交速度很慢,因此,當您執行許多插入操作時,絕對有必要將它們包裝在事務中。
一 回答:
Franck Dernoncourt
2014-04-10 02:30:30 UTC
view on stackexchange narkive permalink

我建議您繼續使用SQLite3:大多數需要嵌入式數據庫進行本地/客戶端存儲的應用程序都使用SQLite3,並且每分鐘20次寫入對我來說聽起來並不多,從您所描述的角度來看更是如此。這些寫操作可能只是插入,只要使用SQLite 3.7.11或更高版本,就可以輕鬆地 batch

  INSERT INTO'tablename'SELECT'data1'AS 'column1','data2'AS'column2'UNION SELECT'data3','data4'UNION SELECT'data5','data6'UNION SELECT'data7','data8' 
不需要這種複雜的SQL。只需將插入內容放入交易中即可。 SQLite在大多數操作中都非常快,但是提交很慢。正確使用事務,它比大多數替代方案要快,沒有它們,它就無法使用。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 3.0許可。
Loading...