新聞中心
MySQL與PostgreSQL比較 哪個數(shù)據(jù)庫更好
如果打算為項目選擇一款免費、開源的數(shù)據(jù)庫,那么你可能會在MySQL與PostgreSQL之間猶豫不定。MySQL與PostgreSQL都是
成都創(chuàng)新互聯(lián)公司主營昌吉網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,App定制開發(fā),昌吉h5小程序設(shè)計搭建,昌吉網(wǎng)站營銷推廣歡迎昌吉等地區(qū)企業(yè)咨詢
免費、開源、強大、且功能豐富的數(shù)據(jù)庫。你主要的問題可能是:哪一個才是最好的開源數(shù)據(jù)庫,MySQL還是PostgreSQL呢?該選擇哪一個開源數(shù)據(jù)
庫呢?
在選擇數(shù)據(jù)庫時,你所做的是個長期的決策,因為后面如果再改變決定將是非常困難且代價高昂的。你希望一開始就選擇正確。兩個流行的開源數(shù)據(jù)庫MySQL與PostgreSQL常常成為最后要選擇的產(chǎn)品。對這兩個開源數(shù)據(jù)庫的高層次概覽將會有助于你選擇最適合自己需要的。
MySQL
MySQL
相對來說比較年輕,首度出現(xiàn)在1994年。它聲稱自己是最流行的開源數(shù)據(jù)庫。MySQL就是LAMP(用于Web開發(fā)的軟件包,包括
Linux、Apache及Perl/PHP/Python)中的M。構(gòu)建在LAMP棧之上的大多數(shù)應(yīng)用都會使用MySQL,包括那些知名的應(yīng)用,如
WordPress、Drupal、Zend及phpBB等。
一開始,MySQL的設(shè)計目標(biāo)是成為一個快速的Web服務(wù)器后端,使用快速的
索引序列訪問方法(ISAM),不支持ACID。經(jīng)過早期快速的發(fā)展之
后,MySQL開始支持更多的存儲引擎,并通過InnoDB引擎實現(xiàn)了ACID。MySQL還支持其他存儲引擎,提供了臨時表的功能(使用MEMORY存
儲引擎),通過MyISAM引擎實現(xiàn)了高速讀的數(shù)據(jù)庫,此外還有其他的核心存儲引擎與第三方引擎。
MySQL的文檔非常豐富,有很多質(zhì)量不錯的免費參考手冊、圖書與在線文檔,還有來自于Oracle和第三方廠商的培訓(xùn)與支持。
MySQL
近幾年經(jīng)歷了所有權(quán)的變更和一些頗具戲劇性的事件。它最初是由MySQL
AB開發(fā)的,然后在2008年以10億美金的價格賣給了Sun公司,Sun公司又在2010年被Oracle收購。Oracle支持MySQL的多個版
本:Standard、Enterprise、Classic、Cluster、Embedded與Community。其中有一些是免費下載的,另外一
些則是收費的。其核心代碼基于GPL許可,對于那些不想使用GPL許可的開發(fā)者與廠商來說還有商業(yè)許可可供使用。
現(xiàn)在,基于最初的
MySQL代碼還有更多的數(shù)據(jù)庫可供選擇,因為幾個核心的MySQL開發(fā)者已經(jīng)發(fā)布了MySQL分支。最初的MySQL創(chuàng)建者之一 Michael
"Monty"
Widenius貌似后悔將MySQL賣給了Sun公司,于是又開發(fā)了他自己的MySQL分支MariaDB,它是免費的,基于GPL許可。知名的
MySQL開發(fā)者Brian Aker所創(chuàng)建的分支Drizzle對其進(jìn)行了大量的改寫,特別針對多CPU、云、網(wǎng)絡(luò)應(yīng)用與高并發(fā)進(jìn)行了優(yōu)化。
PostgreSQL
PostgreSQL標(biāo)榜自己是世界上最先進(jìn)的開源數(shù)據(jù)庫。PostgreSQL的一些粉絲說它能與Oracle相媲美,而且沒有那么昂貴的價格和傲慢的客服。它擁有很長的歷史,最初是1985年在加利福尼亞大學(xué)伯克利分校開發(fā)的,作為Ingres數(shù)據(jù)庫的后繼。
PostgreSQL
是完全由社區(qū)驅(qū)動的開源項目,由全世界超過1000名貢獻(xiàn)者所維護(hù)。它提供了單個完整功能的版本,而不像MySQL那樣提供了
多個不同的社區(qū)版、商業(yè)版與企業(yè)版。PostgreSQL基于自由的BSD/MIT許可,組織可以使用、復(fù)制、修改和重新分發(fā)代碼,只需要提供一個版權(quán)聲
明即可。
可靠性是PostgreSQL的最高優(yōu)先級。它以堅如磐石的品質(zhì)和良好的工程化而聞名,支持高事務(wù)、任務(wù)關(guān)鍵型應(yīng)用。
PostgreSQL的文檔非
常精良,提供了大量免費的在線手冊,還針對舊版本提供了歸檔的參考手冊。PostgreSQL的社區(qū)支持是非常棒的,還有來自于獨立廠商的商業(yè)支持。
數(shù)
據(jù)一致性與完整性也是PostgreSQL的高優(yōu)先級特性。PostgreSQL是完全支持ACID特性的,它對于數(shù)據(jù)庫訪問提供了強大的安全性
保證,充分利用了企業(yè)安全工具,如Kerberos與OpenSSL等。你可以定義自己的檢查,根據(jù)自己的業(yè)務(wù)規(guī)則確保數(shù)據(jù)質(zhì)量。在眾多的管理特性
中,point-in-time
recovery(PITR)是非常棒的特性,這是個靈活的高可用特性,提供了諸如針對失敗恢復(fù)創(chuàng)建熱備份以及快照與恢復(fù)的能力。但這并不是
PostgreSQL的全部,項目還提供了幾個方法來管理PostgreSQL以實現(xiàn)高可用、負(fù)載均衡與復(fù)制等,這樣你就可以使用適合自己特定需求的功能
了。
平臺
MySQL與PostgreSQL都出現(xiàn)在一些高流量的Web站點上:
MySQL:Slashdot、Twitter、Facebook與Wikipedia
PostgreSQL:Yahoo使用了一個修改的PostgreSQL數(shù)據(jù)庫來處理每天數(shù)以億計的事件,還有Reddit和Disqus
MySQL
與PostgreSQL都能運行在多個操作系統(tǒng)上,如Linux、Unix、Mac OS
X與Windows。他們都是開源、免費的,因此測試他們時的唯一代價就是你的時間與硬件。他們都很靈活且具有可伸縮性,可用在小型系統(tǒng)和大型分布式系統(tǒng)
上。MySQL在一個領(lǐng)域上要比PostgreSQL更進(jìn)一步,那就是它的觸角延伸到了嵌入式領(lǐng)域,這是通過libmysqld實現(xiàn)的。
PostgreSQL不支持嵌入式應(yīng)用,依然堅守在傳統(tǒng)的客戶端/服務(wù)器架構(gòu)上。
MySQL通常被認(rèn)為是針對網(wǎng)站與應(yīng)用的快速數(shù)據(jù)庫后端,
能夠進(jìn)行快速的讀取和大量的查詢操作,不過在復(fù)雜特性與數(shù)據(jù)完整性檢查方面不太盡如人意。
PostgreSQL是針對事務(wù)型企業(yè)應(yīng)用的嚴(yán)肅、功能完善的數(shù)據(jù)庫,支持強ACID特性和很多數(shù)據(jù)完整性檢查。他們二者都在某些任務(wù)上具有很快的速
度,MySQL不同存儲引擎的行為有較大差別。MyISAM引擎是最快的,因為它只執(zhí)行很少的數(shù)據(jù)完整性檢查,適合于后端讀操作較多的站點,不過對于包含
敏感數(shù)據(jù)的讀/寫數(shù)據(jù)庫來說就是個災(zāi)難了,因為MyISAM表最終可能會損壞。MySQL提供了修復(fù)MySQL表的工具,不過對于敏感數(shù)據(jù)來說,支持
ACID特性的InnoDB則是個更好的選擇。
與之相反,PostgreSQL則是個只有單一存儲引擎的完全集成的數(shù)據(jù)庫。你可以通過調(diào)整postgresql.conf文件的參數(shù)來改進(jìn)性能,也可以調(diào)整查詢與事務(wù)。PostgreSQL文檔對于性能調(diào)優(yōu)提供了非常詳盡的介紹。
MySQL與PostgreSQL都是高可配置的,并且可以針對不同的任務(wù)進(jìn)行相應(yīng)的優(yōu)化。他們都支持通過擴展來添加額外的功能。
一個常見的誤解就是MySQL要比PostgreSQL更容易學(xué)習(xí)。關(guān)系數(shù)據(jù)庫系統(tǒng)都是非常復(fù)雜的,這兩個數(shù)據(jù)庫的學(xué)習(xí)曲線其實是差不多的。
標(biāo)準(zhǔn)兼容性
PostgreSQL
旨在實現(xiàn)SQL兼容性(當(dāng)前標(biāo)準(zhǔn)是ANSI-SQL:2008)。MySQL則兼容大部分SQL,不過還有自己的擴展,可以支
持NoSQL特性,這在參考手冊中都有介紹。每種方式都有優(yōu)缺點。兼容標(biāo)準(zhǔn)會讓數(shù)據(jù)庫管理員、數(shù)據(jù)庫開發(fā)者與應(yīng)用開發(fā)者更舒服一些,因為這意味著他們只需
學(xué)習(xí)一套標(biāo)準(zhǔn)、一套特性和命令即可。這會節(jié)省時間,提升效率,也不會被鎖定在特定的廠商上。
支持使用非標(biāo)準(zhǔn)的自定義功能的人們認(rèn)為這樣可
以快速采用新的特性,而不必等待標(biāo)準(zhǔn)進(jìn)程完成。ANSI/ISO標(biāo)準(zhǔn)在不斷演化,因此標(biāo)準(zhǔn)兼容性也是個
變化的目標(biāo):知名的關(guān)系型數(shù)據(jù)庫Microsoft SQL Server、Oracle與IBM DB2也只是部分兼容于標(biāo)準(zhǔn)。
結(jié)論
雖
然有不同的歷史、引擎與工具,不過并沒有明確的參考能夠表明這兩個數(shù)據(jù)庫哪一個能夠適用于所有情況。很多組織喜歡使用PostgreSQL,因為
它的可靠性好,在保護(hù)數(shù)據(jù)方面很擅長,而且是個社區(qū)項目,不會陷入廠商的牢籠之中。MySQL更加靈活,提供了更多選項來針對不同的任務(wù)進(jìn)行裁剪。很多時
候,對于一個組織來說,對某個軟件使用的熟練程度要比特性上的原因更重要。
你覺得數(shù)據(jù)庫這個課怎么樣?
普通。就是學(xué)習(xí)數(shù)據(jù)庫的操作而已。讀取,編輯,刪除這三種操作邏輯。只要記憶力好,把那幾種命令語句背下來,基本的操作就沒問題。這對今后的其他課程尤其是編程是有幫助的,因為有些軟件會設(shè)計到數(shù)據(jù)庫的讀寫操作。尤其是一些網(wǎng)站,肯定會連接數(shù)據(jù)庫。不會數(shù)據(jù)庫操作,就沒辦法制作動態(tài)網(wǎng)站。
四大開源數(shù)據(jù)庫是哪些
開源世界中的那幾個免費數(shù)據(jù)庫
發(fā)布時間:2011-11-22 09:34:30 來源:CSDN 評論:0 點擊:1476 次 【字號:大 中 小】
QQ空間 新浪微博 騰訊微博 人人網(wǎng) 豆瓣網(wǎng) 百度空間 百度搜藏 開心網(wǎng) 復(fù)制 更多 0
開源數(shù)據(jù)庫MySQLMySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源...
開源數(shù)據(jù)庫MySQL
MySQL是一個開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),開發(fā)者為瑞典MySQL AB公司。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫。
盤點:開源社區(qū)那些免費的數(shù)據(jù)庫軟件
MySQL為多種編程語言提供了API,包括C、C++、C#、Delphi、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。而其自身是采用C和C++編寫的,使用了多種編譯器進(jìn)行測試,所以,MySQL能夠保證源代碼具有很強的可移植性。這樣的一款數(shù)據(jù)庫,自然能夠支持幾乎所有的操作系統(tǒng),從Unix、Linux到Windows,具體包括AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、NetBSD、OpenBSD、OS/2 Wrap、Solaris、SunOS、Windows等多種操作系統(tǒng)。最重要的是,它是一個可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。
與此同時,MySQL也產(chǎn)生了很多分支版本的數(shù)據(jù)庫也非常值得推薦。
首先是MariaDB,它是一個采用Maria存儲引擎的MySQL分支版本,是由原來MySQL的作者 Michael Widenius創(chuàng)辦的公司所開發(fā)的免費開源的數(shù)據(jù)庫服務(wù)器。與MySQL相比較,MariaDB更強的地方在于它擁有更多的引擎,包括Maria存儲引擎、PBXT存儲引擎、XtraDB存儲引擎、FederatedX存儲引擎,它能夠更快的復(fù)制查詢處理、運行的速度更快、更好的功能測試以及支持對Unicode的排序等。
其次是rcona,它為MySQL數(shù)據(jù)庫服務(wù)器進(jìn)行了改進(jìn),在功能和性能上較MySQL有著很顯著的提升。該版本提升了在高負(fù)載情況下的InnoDB的性能,同時,它還為DBA提供一些非常有用的性能診斷工具,并且提供很多參數(shù)和命令來控制服務(wù)器行為。
第三是Percona Server,它使用了諸如google-mysql-tools、Proven Scaling和 Open Query對MySQL進(jìn)行改造。并且,它只包含MySQL的服務(wù)器版,并沒有提供相應(yīng)對 MySQL的Connector和GUI工具進(jìn)行改進(jìn)。
非關(guān)系型數(shù)據(jù)庫NoSQL
從NoSQL的字面上理解,NoSQL就是Not Only SQL,被業(yè)界認(rèn)為是一項全新的數(shù)據(jù)庫革命性運動,早期就有人提出,發(fā)展至2009年趨勢越發(fā)高漲。NoSQL的擁護(hù)者們提倡運用非關(guān)系型的數(shù)據(jù)存儲,相對于目前鋪天蓋地的關(guān)系型數(shù)據(jù)庫運用,這一概念無疑是一種全新的思維的注入。
盤點:開源社區(qū)那些免費的數(shù)據(jù)庫軟件
當(dāng)然,NoSQL也是隨著互聯(lián)網(wǎng)Web2.0網(wǎng)站的興起才能取得長足的進(jìn)步。關(guān)鍵的需求在于,傳統(tǒng)的關(guān)系數(shù)據(jù)庫在應(yīng)付Web2.0網(wǎng)站,特別是超大規(guī)模和高并發(fā)的SNS類型的web2.0純動態(tài)網(wǎng)站顯得力不從心,暴露了很多難以克服的問題,而非關(guān)系型的數(shù)據(jù)庫則由于其本身的特點得到了非常迅速的發(fā)展。
首先推薦的是Oracle NoSQL Database,這是一個社區(qū)版。Oracle的這個NoSQL Database, 是在10月4號的甲骨文全球大全上發(fā)布的Big Data Appliance的其中一個組件,Big Data Appliance是一個集成了Hadoop、NoSQL Database、Oracle數(shù)據(jù)庫Hadoop適配器、Oracle數(shù)據(jù)庫Hadoop裝載器及R語言的系統(tǒng)。
其次推薦的是Membase。Membase是NoSQL家族的一個新的重量級的成員。Membase是開源項目,源代碼采用了Apache2.0的使用許可。該項目托管在GitHub.Source tarballs上,目前可以下載beta版本的Linux二進(jìn)制包。該產(chǎn)品主要是由North Scale的memcached核心團隊成員開發(fā)完成,其中還包括Zynga和NHN這兩個主要貢獻(xiàn)者的工程師,這兩個組織都是很大的在線游戲和社區(qū)網(wǎng)絡(luò)空間的供應(yīng)商。
并且,Membase容易安裝、操作,可以從單節(jié)點方便的擴展到集群,而且為memcached(有線協(xié)議的兼容性)實現(xiàn)了即插即用功能,在應(yīng)用方面為開 發(fā)者和經(jīng)營者提供了一個比較低的門檻。做為緩存解決方案,Memcached已經(jīng)在不同類型的領(lǐng)域(特別是大容量的Web應(yīng)用)有了廣泛的使用,其中 Memcached的部分基礎(chǔ)代碼被直接應(yīng)用到了Membase服務(wù)器的前端。通過兼容多種編程語言和框架,Membase具備了很好的復(fù)用性。在安裝和配置方面,Membase提供了有效的圖形化界面和編程接口,包括可配置 的告警信息。
Membase的目標(biāo)是提供對外的線性擴展能力,包括為了增加集群容量,可以針對統(tǒng)一的節(jié)點進(jìn)行復(fù)制。 另外,對存儲的數(shù)據(jù)進(jìn)行再分配仍然是必要的。
第三推薦的是Hibari。Hibari在日語中意思為“云雀”,它是一個專為高可靠性和大數(shù)據(jù)存儲的數(shù)據(jù)庫引擎,可用于云計算環(huán)境中,例如 webmail、SNS和其他要求T/P級數(shù)據(jù)存儲的環(huán)境中。同時,Hibari也支持Java,C/C++,Python,Ruby和Erlang語言的客戶端。
第四推薦的是memcachedb。這是一個由新浪網(wǎng)的開發(fā)人員開放出來的開源項目,給memcached分布式緩存服務(wù)器添加了Berkeley DB的持久化存儲機制和異步主輔復(fù)制機制,讓memcached具備了事務(wù)恢復(fù)能力、持久化能力和分布式復(fù)制能力,非常適合于需要超高性能讀寫速度,但是 不需要嚴(yán)格事務(wù)約束,能夠被持久化保存的應(yīng)用場景,例如memcachedb被應(yīng)用在新浪博客上面。
第五推薦的是Leveldb。這是一個Google實現(xiàn)的非常高效的kv數(shù)據(jù)庫,目前的版本1.2能夠支持billion級別的數(shù)據(jù)量了。 在這個數(shù)量級別下還有著非常高的性能,主要歸功于它的良好的設(shè)計,特別是LSM算法。LevelDB是單進(jìn)程的服務(wù),性能非常之高,在一臺4個Q6600的CPU機器上,每秒鐘寫數(shù)據(jù)超過40w,而隨機讀的性能每秒鐘超過10w。
XML數(shù)據(jù)庫的優(yōu)勢
XML數(shù)據(jù)庫是一種支持對XML格式文檔進(jìn)行存儲和查詢等操作的數(shù)據(jù)管理系統(tǒng)。在系統(tǒng)中,開發(fā)人員可以對數(shù)據(jù)庫中的XML文檔進(jìn)行查詢、導(dǎo)出和指定格式的序列化。目前XML數(shù)據(jù)庫有三種類型:XMLEnabledDatabase(XEDB),即能處理XML的數(shù)據(jù)庫;NativeXMLDatabase(NXD),即純XML數(shù)據(jù)庫;HybridXMLDatabase(HXD),即混合XML數(shù)據(jù)庫。
關(guān)系數(shù)據(jù)庫中的第一代XML支持是切分(或分解)文檔,以適應(yīng)關(guān)系表格或?qū)⑽臋n原封不動地存儲為字符或二進(jìn)制大對象(CLOB 或 BLOB)。這兩個方法中的任一種都嘗試將XML模型強制轉(zhuǎn)換成關(guān)系模型。然而,這兩種方法在功能和性能上都有很大的局限性。混合型模型將XML存儲在類似于DOM的模型中。XML數(shù)據(jù)被格式化為緩沖數(shù)據(jù)頁,以便快速導(dǎo)航和執(zhí)行查詢以及簡化索引編制。
在這里,首要要推薦的XML數(shù)據(jù)庫是Sedna。它號稱是一款原生態(tài)的XML數(shù)據(jù)庫,提供了全功能的核心數(shù)據(jù)庫服務(wù),包括持久化存儲、ACID事務(wù)、索引、安全、熱備、UTF8等。實現(xiàn)了 W3C XQuery 規(guī)范,支持全文搜索以及節(jié)點級別的更新操作。
第二款XML數(shù)據(jù)庫是BaseX。這款數(shù)據(jù)庫用來存儲緊縮的XML數(shù)據(jù),提供了高效的 XPath和XQuery的實現(xiàn),同時,它還提供一個前端操作界面。
盤點:開源社區(qū)那些免費的數(shù)據(jù)庫軟件
第三款推薦的是XMLDB。這款數(shù)據(jù)庫使用了關(guān)系型數(shù)據(jù)庫來存儲任意的XML文檔,因為所采用的存儲機制,所以文檔的搜索速度特別快,同時執(zhí)行XSL轉(zhuǎn)換也相當(dāng)快。XMLDB同時還提供了一個PHP的模塊,可以應(yīng)用在Web應(yīng)用中。
第四塊推薦的是X-Hive/DB。它是一個為需要高級XML數(shù)據(jù)處理和存儲功能的軟件開發(fā)者設(shè)計的強大的專屬XML數(shù)據(jù)庫。X-Hive/DB Java API包含存儲、查詢、檢索、轉(zhuǎn)換和發(fā)表XML數(shù)據(jù)的方法。
與傳統(tǒng)關(guān)系型數(shù)據(jù)庫相比,XML數(shù)據(jù)庫具有以下優(yōu)勢:第一,XML數(shù)據(jù)庫能夠?qū)Π虢Y(jié)構(gòu)化數(shù)據(jù)進(jìn)行有效的存取和管理。如網(wǎng)頁內(nèi)容就是一種半結(jié)構(gòu)化數(shù)據(jù),而傳統(tǒng)的關(guān)系數(shù)據(jù)庫對于類似網(wǎng)頁內(nèi)容這類半結(jié)構(gòu)化數(shù)據(jù)無法進(jìn)行有效的管理。第二,提供對標(biāo)簽和路徑的操作。傳統(tǒng)數(shù)據(jù)庫語言允許對數(shù)據(jù)元素的值進(jìn)行操作,不能對元素名稱操作,半結(jié)構(gòu)化數(shù)據(jù)庫提供了對標(biāo)簽名稱的操作,還包括了對路徑的操作。第三,當(dāng)數(shù)據(jù)本身具有層次特征時,由于XML數(shù)據(jù)格式能夠清晰表達(dá)數(shù)據(jù)的層次特征,因此XML數(shù)據(jù)庫便于對層次化的數(shù)據(jù)進(jìn)行操作。XML數(shù)據(jù)庫適合管理復(fù)雜數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)集,如果己經(jīng)以XML格式存儲信息,則XML數(shù)據(jù)庫利于文檔存儲和檢索;可以用方便實用的方式檢索文檔,并能夠提供高質(zhì)量的全文搜索引擎。另外XML數(shù)據(jù)庫能夠存儲和查詢異種的文檔結(jié)構(gòu),提供對異種信息存取的支持。
如何在mysql配置文件里將sql-mode修改為NO_AUTO_CREATE_USER?
1.用sql工具執(zhí)行show variables like‘%sql_mode%’
2.如果重啟之后不成功, 注意檢查你的my.ini 或者 my.cnf 有沒改對,是不是有多個同名字的配置文件, 也有可能叫sql-mode 或sql_mode 注意中間的‘-’ 或 ‘_’
mysql的sql_mode合理設(shè)置,sql_mode是個很容易被忽視的變量,默認(rèn)值是空值,在這種設(shè)置下是可以允許一些非法操作的,比如允許一些非法數(shù)據(jù)的插入。在生產(chǎn)環(huán)境必須將這個值設(shè)置為嚴(yán)格模式,所以開發(fā)、測試環(huán)境的數(shù)據(jù)庫也必須要設(shè)置,這樣在開發(fā)測試階段就可以發(fā)現(xiàn)問題 。
ONLY_FULL_GROUP_BY,對于GROUP BY聚合操作,如果在SELECT中的列,沒有在GROUP BY中出現(xiàn),那么這個SQL是不合法的,因為列不在GROUP BY從句中
NO_AUTO_VALUE_ON_ZERO,該值影響自增長列的插入。默認(rèn)設(shè)置下,插入0或NULL代表生成下一個自增長值。如果用戶希望插入的值為0,而該列又是自增長的,那么這個選項就有用了。
nosql和mongodb的區(qū)別
1,Cassandra:
Cassandra從安裝配置,到使用,負(fù)載平衡機制等等,無疑是這些新興的NoSQL中最方便使用的一個(個人使用體驗觀點)
但從近期的消息來看由于出現(xiàn)過幾次較為嚴(yán)重的數(shù)據(jù)庫停止服務(wù)事件,Cassandra的創(chuàng)始人Facebook,及Twitter開始漸漸棄用
Cassandra,只把Cassandra用在非核心模塊上,不地Digg仍在使用,看來我們要謹(jǐn)慎地對待它。2008年Facebook已讓
Cassandra開源到Apache.
2.MongoDB:
它的風(fēng)格可以說,在當(dāng)今WebAPI流行的時代,它更易于被人使用,BJSON操作風(fēng)格,自動數(shù)據(jù)平衡機制(當(dāng)然要當(dāng)心存貯碎片問題),相對
MySQL等SQL數(shù)據(jù)庫有優(yōu)秀考慮全面的,分布式方案,自動M/S主從讀寫切換。對于數(shù)據(jù)集群來說,可以說相當(dāng)完美的Sharding等自動化支持。至
今聽說過的最嚴(yán)重的事件就是FourSquare的11小時數(shù)據(jù)庫宕機事件。相對來說還能接受:),它是使用C++/Boost編寫,效率性能的確不錯。
3.Redis:
它就是一個高效的內(nèi)存數(shù)據(jù)庫,用它來持久化數(shù)據(jù)存貯,那是扯淡,如果真拿它來與別的NoSQL一樣使用(考慮讀寫一致性或者寫安全)那它馬上慢下
來:)不過他提供了比Memcached更多的操作數(shù)據(jù)類型,倒可以完全用它來做為一個高效易用的緩存,Benchmark據(jù)說優(yōu)于memcached.
我用的數(shù)據(jù)規(guī)模沒有這么大,不敢妄加評論。
4.HBase:
概念上也相對完美,有Hive開源工具支持,使HBase,可以相對于其它NoSQL數(shù)據(jù)庫更易于使用,基于HDFS分布文件系統(tǒng),使HBASE天
生就有對海量分布集群很好的支持。又因為與Hadoop相伴而生,所以一個系統(tǒng)想使用數(shù)據(jù)分析,智能處理,海量邏輯執(zhí)行,完全可以選擇Hadoop +
HBase云計算方案。
MongoDB也支持js的Map/Reducer所以可以試著整合一下MongoDB進(jìn)云計算方案中。
當(dāng)我使有MySQL +
NoSQL方案時,我會選擇MongoDB,不僅是因為他的出色的海量分布式方案的支持,也不是因為經(jīng)的Map/Reducer分布式計算的支持。而是因
為還沒聽說過它有過重大的失敗案例,相對較完美的文檔(還有中文手冊喲)還有JSON分格支持,在當(dāng)下WebAPI流行的時代,不僅是從個人喜愛角度,也
是從工程管理角度,開發(fā)人員更Love it,呵呵。
當(dāng)前文章:nosql手冊,nosql數(shù)據(jù)庫入門與實踐pdf
網(wǎng)頁URL:http://www.dlmjj.cn/article/dsgdose.html