1. 如何選擇資料庫
如何選擇資料庫
完整的存儲進去,完整的取出來,不需要額外的操作。
NoSQL 比 RDB 有更強的擴展性,可以充分利用分布式系統來提升讀寫性能和可靠性。
這不是誰設計好壞的問題,而是跟他們要解決的問題有關:RDB 誕生於互聯網萌芽的時代,那時數據的准確、可靠是最重要的,而 NoSQL 誕生於互聯網快速發展普及的時代,大數據、分布式、擴展性成了資料庫的另一個重要特性。
總結一下:
RDB 首先得是准確、可靠,然後才向更高的「可拓展性」發展;
而 NoSQL 生而分布式,可拓展性強,然後才向更高的「准確性」發展。
NoSQL ,not only SQL,其實就是對那種打破了 RDB 嚴格事務和關系模型約束的那些資料庫的泛指,而隨著要解決的問題的不同,又誕生了各種各樣的 NoSQL。
首先是「列式資料庫」(Column-oriented DBMS),數據量上去了,我們想分析網站用戶的年齡分布,簡單說,就是你需要對同一個特徵進行大數據量的分析統計,於是把原來 RDB 的「按行存儲」的範式打破,變成了「按列存儲」,比如 HBase;
然後你發現有些數據變動不是很大,但是經常需要被查詢, 查詢時還要關聯很多張表,於是你把這些來自不同表的數據,揉成一個大對象,按 key-value 的格式存起來,比如 Redis;
再後來你需要對博客內容進行相關性搜索,傳統 RDB 不支持相關性搜索,最重要的,還是擴展性差,增加機器的帶來邊際效益有限,於是有了「全文搜索引擎」,比如 Elasticsearch;
除此之外,還有「文檔資料庫」、「圖形資料庫」……
沒有一種資料庫是銀彈。
總結
這篇文章的題目是「如何選擇資料庫」,這是困擾很多人的問題,那麼多資料庫,到底要選什麼好?
可是當你問出這樣一個問題時,其實你是在問一種「手段」。我現在要做這樣一個需求,用什麼資料庫可以幫我實現它?
但其實你需要的不只是一種「手段」,因為如果對方甩給你一個冷冰冰的名字,Mysql、Elasticsearch、MongoDB,你肯定會問,憑什麼?
你需要的,是一種「解決方案」。如果你需要數據十分嚴格准確,分毫不差,那我會推薦你採用「事務」和「關系模型」來處理數據;如果你需要數據能夠被大量讀取和寫入,那我會推薦你擴展性強的「分布式」;如果你的數據經常是整個讀取、整個更新的,那「關系模型」就沒有「文檔模型」適合你。
「事務」、「關系模型」、「分布式」、「文檔模型」等等,這些就是「解決方案」,知道用什麼「解決方案」,用哪個資料庫,自然水到渠成。
正如一位大牛說的:
用戶不會因為你用了 Mysql 或者 MongoDB 而使用你的軟體,畢竟絕大多數用戶都不知道 Mysql 和 MongoDB 是什麼玩意。
2. 該選擇哪個開源資料庫哪一個更好
如果打算為項目選擇一款免費、開源的資料庫,那麼你可能會在MySQL與PostgreSQL之間猶豫不定。MySQL與PostgreSQL都是免費、開源、強大、且功能豐富的資料庫。你主要的問題可能是:哪一個才是最好的開源資料庫,MySQL還是PostgreSQL呢?該選擇哪一個開源資料庫呢?
在選擇資料庫時,你所做的是個長期的決策,因為後面如果再改變決定將是非常困難且代價高昂的。你希望一開始就選擇正確。兩個流行的開源資料庫MySQL與PostgreSQL常常成為最後要選擇的產品。對這兩個開源資料庫的高層次概覽將會有助於你選擇最適合自己需要的。
MySQL
MySQL相對來說比較年輕,首度出現在1994年。它聲稱自己是最流行的開源資料庫。MySQL就是LAMP(用於Web開發的軟體包,包括Linux、Apache及Perl/PHP/Python)中的M。構建在LAMP棧之上的大多數應用都會使用MySQL,包括那些知名的應用,如WordPress、Drupal、Zend及phpBB等。
一開始,MySQL的設計目標是成為一個快速的Web伺服器後端,使用快速的索引序列訪問方法(ISAM),不支持ACID。經過早期快速的發展之後,MySQL開始支持更多的存儲引擎,並通過InnoDB引擎實現了ACID。MySQL還支持其他存儲引擎,提供了臨時表的功能(使用MEMORY存儲引擎),通過MyISAM引擎實現了高速讀的資料庫,此外還有其他的核心存儲引擎與第三方引擎。
MySQL的文檔非常豐富,有很多質量不錯的免費參考手冊、圖書與在線文檔,還有來自於Oracle和第三方廠商的培訓與支持。
MySQL近幾年經歷了所有權的變更和一些頗具戲劇性的事件。它最初是由MySQL AB開發的,然後在2008年以10億美金的價格賣給了Sun公司,Sun公司又在2010年被Oracle收購。Oracle支持MySQL的多個版本:Standard、Enterprise、Classic、Cluster、Embedded與Community。其中有一些是免費下載的,另外一些則是收費的。其核心代碼基於GPL許可,對於那些不想使用GPL許可的開發者與廠商來說還有商業許可可供使用。
現在,基於最初的MySQL代碼還有更多的資料庫可供選擇,因為幾個核心的MySQL開發者已經發布了MySQL分支。最初的MySQL創建者之一Michael "Monty" Widenius貌似後悔將MySQL賣給了Sun公司,於是又開發了他自己的MySQL分支MariaDB,它是免費的,基於GPL許可。知名的MySQL開發者Brian Aker所創建的分支Drizzle對其進行了大量的改寫,特別針對多CPU、雲、網路應用與高並發進行了優化。
PostgreSQL
PostgreSQL標榜自己是世界上最先進的開源資料庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那麼昂貴的價格和傲慢的客服。它擁有很長的歷史,最初是1985年在加利福尼亞大學伯克利分校開發的,作為Ingres資料庫的後繼。
PostgreSQL是完全由社區驅動的開源項目,由全世界超過1000名貢獻者所維護。它提供了單個完整功能的版本,而不像MySQL那樣提供了多個不同的社區版、商業版與企業版。PostgreSQL基於自由的BSD/MIT許可,組織可以使用、復制、修改和重新分發代碼,只需要提供一個版權聲明即可。
可靠性是PostgreSQL的最高優先順序。它以堅如磐石的品質和良好的工程化而聞名,支持高事務、任務關鍵型應用。PostgreSQL的文檔非常精良,提供了大量免費的在線手冊,還針對舊版本提供了歸檔的參考手冊。PostgreSQL的社區支持是非常棒的,還有來自於獨立廠商的商業支持。
數據一致性與完整性也是PostgreSQL的高優先順序特性。PostgreSQL是完全支持ACID特性的,它對於資料庫訪問提供了強大的安全性保證,充分利用了企業安全工具,如Kerberos與OpenSSL等。你可以定義自己的檢查,根據自己的業務規則確保數據質量。在眾多的管理特性中,point-in-time recovery(PITR)是非常棒的特性,這是個靈活的高可用特性,提供了諸如針對失敗恢復創建熱備份以及快照與恢復的能力。但這並不是PostgreSQL的全部,項目還提供了幾個方法來管理PostgreSQL以實現高可用、負載均衡與復制等,這樣你就可以使用適合自己特定需求的功能了。
3. 應用程序如何與資料庫建立連接
1、首先打開visual studio 2017開發工具進入軟體主界面。
4. 如何選擇簡單易用的資料庫
1.數據量太大,比如上億,就用oracle,優點上億數據對Oracle來說輕飄飄的,也不用太多優化配置,缺點安裝比較麻煩,上手比較慢。
2.數據量較大,比如千萬級,用postgresql,它號稱對標Oracle,處理千萬級數據還是可以的,也是易學易用。
3.數據量一般,比如百萬級,用mysql,這個級別的數據量mysql處理還是比較快的。
4.數據量較小,比如十萬以下,sqlite、access都可以。
上面是基於單表操作的數據量,你看著選。
簡單易用的資料庫哪個比較好?這個要具體看你的用途,如果數據量比較少(10萬左右),追求簡約簡單,免費開源的sqlite就行,如果數據量比較多,考慮到高並發、分布式,可以使用專業的mysql、postgresql,下面我分別簡單介紹一下,感興趣的朋友可以嘗試一下:
小巧靈活sqlite這是基於c語言開發的一個輕量級關系型資料庫,短小精悍、免費開源,個人使用無需繁瑣的配置,只需一個簡單的運行庫便可直接使用,針對各種編程語言都提供了豐富的API介面, java、 python、c#等都可輕松操作,如果你存儲數據量不多,只是本地簡單的操作(讀多寫少),可以使用一下這個資料庫,佔用內存非常少,輕便靈活,當然,在高並發、數據量大的情況下就不合適了:
專業強大mysql
這是目前應該廣泛使用的一個關系型資料庫,免費開源跨平台,在信息系統開發方面一直占據著主力位置,如果你從事於web開發或者網站後台建設,那麼這個資料庫一定非常熟悉,支持高並發、分布式,存儲數據量相對於sqlite來說,更多也更安全,索引、觸發器、存儲過程等功能非常不錯,支持數據導入導出、恢復備份,只要你熟悉一下基本使用過程,很快就能掌握和運用:
免費開源postgresql
這是加州大學計算機系開發的一個對象-關系型資料庫(自由軟體),免費、開源、跨平台,支持流計算、全文檢索、圖式搜索、並行計算、存儲過程、空間數據、K-V類型,相比較mysql來說,在復雜查詢、高並發下更穩定、性能更優越,可擴展性、可維護性非常不錯,但也有劣勢,例如新舊版本不分離存儲,沒有Coverage index scan等,總體使用效果來說還不錯:
當然,除了以上3個資料庫,還有許多其他資料庫,像mssql、oracle等也都非常不錯,對於存儲和處理數據來說綽綽有餘,只要你熟悉一下基本使用過程,很快就能入門的,網上也有相關教程和資料,介紹的非常詳細,感興趣的話,可以搜一下,希望以上分享的內容能對你有所幫助吧,也歡迎大家評論、留言進行補充。
最符合初學者理解和入門的是Access,因為它和Excel本來就是一個套件,相互轉化容易,復制粘貼即可,非常好理解庫、表、欄位、鍵的概念。
如果數據量不大,強烈推薦試試Filemaker,腳本化編程,自由定製輸入界面、工作流程,非常便捷高效。
最近殺出來的airtable,更是簡單高效,界面美觀,操作與電子表格相當,發展勢頭也非常迅猛。
二者側重點有所不同,用戶可根據需要選擇
作為一個軟體開發人員,長期需要和資料庫打交道,個人更加青睞於MySQL。雖然可能基於你的Excel原因,有些人會建議你使用Access資料庫,但是基於我個人的 意見,我並不建議你那樣做。採用MySql的具體理由如下:
1.MySQL具有普遍性,在國內的環境中,絕大多數的互聯網企業採用的是MySQL。有了廣大的用戶基礎後,針對於各種問題網上也能更好地找到解決方案。
2.MySQL相對於Oracle而言,更加輕量化,針對於從Excel量級的數據,沒必要使用Oracle。同時MySQL是完全免費的,不用擔心版權及費用問題,無論對個人還是對預算有限的企業而言都是很好的選擇。
3.MySQL高度兼容標准SQL,這對於以後遷移到其他資料庫而言,也能很大程度地降低學習成本。
希望我的回答能夠對你有所幫助!!![耶][耶][耶]
Excel辦公確實便利,可以做一些簡單的數據分析,但涉及大量復雜的數據運算,就會遇到和題主一樣的問題,運算速度慢,如果主機性能不是很好,還有可能面臨電腦死機,數據丟失等問題。
遇到這種情況,我們該如何解決呢?資料庫的重要性顯而易見!
現在, 我將用3分鍾的時間,與您探討該選擇何種資料庫,以及選擇它的理由,是否有更優的解決方案呢?
MySQL資料庫,90%的企業都會選擇它資料庫選得好,企業的數據安全,資產安全,也就得到了保障。那麼該如何選擇資料庫呢?這個跟你的業務量和業務服務行業,密不可分。
如果你只是上班打卡,用SQL server就可以了;
如果你要儲存會話信息,用戶配置信息,購物車數據,建議使用NoSQL資料庫;
不過90%的企業或個人,首選資料庫都是MySQL資料庫。
為什麼這么說?因為,它集 低成本、高可用、可靠性強、易用性強、體積小、速度快開放源碼 等特性於一身,所以在金融、財務、網站、 數據處理 等應用領域,它占據著獨一無二的優勢。
這也是幾乎所有企業都選擇它,來存儲數據的原因。
加之MySQL資料庫,支持多種存儲引擎,支持大型資料庫,可以處理成千上萬條記錄,還提供用於管理、檢查、優化資料庫操作的工具。
因而,MySQL尤其受個人,以及中小企業的推崇。
雖然MySQL資料庫簡單易用,但我還是不會部署該怎麼辦?別擔心,現在市面上已經出現了,一種自帶資料庫的新型辦公軟體。
比如說,雲表企業應用平台,一款兼容excel功能,但功能更為強大的辦公軟體,它就內嵌了MySQL資料庫。 (文末有免費獲取方式)
雲表內嵌的MySQL資料庫,有何優點?1. 性能更加優化,更加兼容系統。因為雲表的研發人員,時刻更新維護MySQL資料庫。
2. 省去自己手動部署的麻煩。但如果你熟悉部署資料庫,想把資料庫改成Oracle或SQL server等資料庫,也可以設置。(不過,我建議IT小白還是 「拿來即用」 就好)
3. 快速實時計算。數據分析實時交互,完全滿足管理決策中的臨時性分析,多變的業務需求,以及頻繁的結果刷新。
4. 通過自帶的內存計算引擎,無需事先建立CUBE,IT部門將告別報表延時報表分析,億級數據秒級響應。
內嵌的MySQL資料庫是否可靠雲表不僅是一款辦公軟體,同時還是一款開發工具。
通過它,你將解決以下問題:
復雜的數據運算,精確到行列的許可權管控,以及工作流,海量用戶同時在線辦公,數據透視,製作像銷售單,洽談合同等表單報表,一份製作,即可重復錄用......
你還可以通過它,與電子稱、地磅等進行對接,與用友金蝶等三方系統集成,生成條形碼,掃碼出入庫,生成移動端APP...... 基本上業務所需的功能,你都可以放心交給它做。
它最大的亮點就是,你可以 用使用excel的手法,用它來開發業務應用。
而且,可視化的 拖拉拽 之後,開發出來的ERP、WMS、OA、進銷存等業務應用,還秉承了MySQL資料庫增刪改查的功能特性。
沒錯,用雲表開發出來的業務應用,是允許二次開發的,而且功能可以隨時增刪改查,輕松滿足大集團精細化的數據控制需求。
不過,大家最關心的應該是數據安全問題吧。
數據存放在雲表內嵌的MySQL資料庫,是安全不丟失的,它提供了多種數據存儲的方式,本地部署,雲端部署,混合部署,任君挑選!
正因如此,像 恆逸石化、許繼電氣、航天科工委、中鐵、中冶、雲南小松 等大型集團,才鼓勵內部員工去學習雲表。
篇幅所限,只說到這里,說太多你也不會看。
免費 的軟獲取方式在下方:
資料庫的用處可大著呢,不僅可以實現數據共享,減少數據冗餘度,還能實現對數據的集中控制,保持數據的一致性和可維護性。選取簡單易用的資料庫,你有什麼好的建議呢,留言讓我們看到噢!
題主強調了簡單易用。所以推薦最簡單三個。
1.Access。
2.Excel。
3.飛書文檔、騰訊文檔、石墨文檔等的表格。
如果要做分析,數據量才比較大,建議Access,還是專業的更好一些。網上教程也很多,比較容易學。而且建議用早一點的版本,比如2003或者2007,Access這些年微軟一直想從office里去掉,奈何用的人還是很多,所以不敢去掉,但是採取了一種比較惡心的方法讓用戶放棄,就是每發布一個新版本,就去掉一些好用的功能,所以說Access是越早的功能越強。
還一個推薦就是Sql Server Express版本,是SQL Server的免費版本,不要錢,基本功能都有,要比sqllite等強大的多
這要結合你個人實際情況來定,有計算機基礎,懂一點資料庫的話那麼市場上的那些軟體都可以用,常用有oracle,sqlserver,mysql等,要上手快還是sqlserver比較快,界面操作也比較直觀;如果一點基礎都沒有,但是又要分析數據的話可以用微軟自帶的一個access,這個上手比較快。決定用哪一種之後還是要買點教材看,簡單的sql查詢要會,熟練之後也能提高工作效率。
個人使用資料庫的話,只存數據不做分析,SQLite就足夠了。