簡體   English   中英

平面文件數據庫php應用程序

[英]flat-file database php application

我正在創建和依賴於數據庫的應用程序,並且我打算使用平面文件db,是否有任何嚴肅的理由可以避免這種情況?

我使用的是mimesis( http://mimesis.110mb.com ),它比使用mySQL更為簡單,我必須承認我對此經驗不足。 我想知道數據庫的安全性。 但是文件存儲為php,這似乎是一個可靠的數據庫解決方案。

我真的很喜歡備份和傳輸數據庫的便捷性,而使用mySQL則更難。 我看到每個人似乎都喜歡使用mySQL方式-在查詢時它可能會更快,但除此之外,沒有任何理由要遠離平面文件dbs並(最終)正確學習mysql嗎?


編輯只是為了讓人們知道,我最終使用了mySQL,並使用了CodeIgniter框架。 仍然像平面文件db一樣,但是現在已經意識到,對於該項目而言,它比必需的更為復雜。

使用SQLite ,您可以獲得具有許多SQL功能的數據庫,但它只是一個文件。

問候,我是Mimesis的創作者。 在您需要處理大量數據的情況下,關系數據庫和SQL非常重要。 平面文件是否優於關系數據庫? 嗯,您可以問一下Google,因為它們的整個歸檔系統都可以處理平面文件,並且它是地球上最受歡迎的搜索引擎。 Mimesis與他們的系統相比嗎? 可能不會。

Mimesis的創建是為了解決特定的利基問題。 我只使用免費網站進行在線工作。 許多免費站點提供使用PHP的能力。 但是,它們不提供免費的SQL數據庫訪問。 因此,我需要創建一個數據庫來存儲數據,實現鎖定並解決文件權限。 這些是Mimesis的主要設計參數,並且在所有這些方面都成功。

如果您需要了解Mimesis的速度,請導航至第一頁,它將告訴您您正在查看該網站的國家/地區。 該免費數據庫來自ip2nation.com網站,並已移植到Mimesis ffdb中。 它具有數百個甚至數千個條目。

此外,主頁上的點擊計數器已經跟蹤了7000多名訪問者。 這些是唯一訪問,這意味着腳本必須搜索數據庫以查看正在訪問的IP地址是否已經存在,並且還要對總IP進行計數。

如果您已經注意到主頁加載非常快,並且其后端上運行了兩個相當密集的Mimesis數據庫腳本。 Mimesis存儲數據的方式可以加快讀取和寫入過程以及翻譯過程的速度。 那里的大多數ffdb示例腳本或其他ffdb腳本都使用簡單的CVS文件或其他類似的結構來存儲數據。 Mimesis實際上在某些級別解釋二進制數據以增強其功能。 Mimesis在某種程度上是平面文件數據庫和關系數據庫之間的混合體。

大多數其他ffdb腳本都涉及每次進行更新時都重寫COMPLETE文件。 Mimesis不這樣做,它僅重寫結構文件並更新實際的行內容。 這樣,即使確實發生錯誤,您也只會丟失添加的新數據,而不會丟失任何舊數據。 Mimesis也保持其歷史。 除非刷新表,否則以前行的數據仍將包含在其中。

我可以繼續介紹所有功能,但這並不是因為“ Mimesis是有史以來最大的數據庫”而已。 此外,它的目的是讓人們看到SQL並不是唯一可用的技術,並且考慮到它們具有更專業的特性,在給出適當的開發范例后,平面文件要優於關系數據庫。

平面文件萬歲,而編碼人員則勇敢地接follow而至。

如果僅需要平面文件結構,則答案為“好”。 一個測試:一個簡單的電子表格可以滿足所有需求嗎? 如果不是,則需要一個關系結構,而不是一個平面文件。

如果不確定,也許可以啟動平面文件。 SQLite是入門的絕佳應用程序。

如果您在此過程中發現了錯誤的選擇,那將是不好的學習。 但是,如果您了解關系結構的重要性,並在需要時盡早進行升級,那么您就可以了。

我真的很喜歡備份和傳輸數據庫的便捷性,而使用mySQL則更難。

使用另一個答案中提到的SQLite 只能備份一個文件,或設置MySQL數據庫到SQL文件的定期轉儲。 這是一個相對簡單的事情。

我看到每個人似乎都喜歡使用mySQL方式-並且在查詢方面可能更快

速度絕對是一個考慮因素。 數據庫往往會快很多,因為數據組織得更好。

除此之外,是否有任何理由要遠離平面文件dbs和(最終)正確學習mysql?

使用數據庫解決方案的確有很多原因,但是對於平面文件有很多參數。 學習除了“通常”使用的東西以外的東西總是一件好事。 大多數決定取決於應用程序。 您將要擁有多少個並發用戶? 您需要交易支持嗎?

想要通知Mimesis已從原始URL移至http://mimesis.site11.com/

此外,我將Mimesis的重點從ffdb轉移到了鍵值存儲。 考慮到我存儲的信息類型和檢索信息的方法,這更加明智。 Mimesis的編碼中也存在嚴重錯誤(此后我已修復)。 但是,我仍處於新的鍵值存儲類型的測試階段。 我還被其他事情困擾。 鎖定也已從使用文件創建更改為使用目錄創建互斥機制。

互操作性。 MySQL基本上可以通過任何重要的語言進行接口。 Mimesis不太可能在PHP之外使用。

當您嘗試使用探查器或從外部修改數據時,這一點就變得很重要。

您也可以在http://lukeplant.me.uk/resources/flatfile/中查看PHP Flatfile軟件包。

Flatfile的問題在於,為了調整情況以進行進一步開發,您必須更改大量代碼以改善系統的基礎。 而如果這是一個純SQL系統,則將來幾乎不需要進行任何修改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM