{eval=Array;=+count(Array);}

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

Facebook用戶量十分龐大,為什么還使用MySQL數(shù)據(jù)庫?

qylostqylost 回答0 收藏1
收藏問題

10條回答

jimhs

jimhs

回答于2022-06-28 14:37

盡管Facebook使用MySQL,但它們并不是一成不變的使用它。 事實上,他們的團(tuán)隊已經(jīng)提交了許多MySQL核心和Innodb插件的高性能增強。 他們的主要重點是增加性能計數(shù)器到Innodb。 其他更改集中在IO子系統(tǒng)上,包括以下新功能:

1 innodb_io_capacity:設(shè)置服務(wù)器的IO容量以確定后臺IO的速率限制

2 innodb_read_io_threads, innodb_write_io_threads:設(shè)置后臺IO線程

3 innodb_max_merged_io:設(shè)置可能合并到一個大IO請求中的相鄰IO請求的最大數(shù)量

Facebook使用MySQL作為鍵值存儲,其中數(shù)據(jù)隨機分布在一大組邏輯實例中。 這些邏輯實例分散在物理節(jié)點之間,負(fù)載均衡在物理節(jié)點級完成。 Facebook已經(jīng)開發(fā)了一個分區(qū)方案,其中全局ID被分配給所有的用戶數(shù)據(jù)。 他們也有一個自定義的歸檔方案,它基于每個用戶的頻繁和最近的數(shù)據(jù)。 大部分?jǐn)?shù)據(jù)是隨機分布的。 令人驚訝的是,據(jù)傳Facebook有1800個MySQL服務(wù)器,但只有3個全職DBA

Facebook主要將MySQL用于結(jié)構(gòu)化數(shù)據(jù)存儲,例如墻貼,用戶信息等。這些數(shù)據(jù)在各個數(shù)據(jù)中心之間復(fù)制。 對于blob存儲(照片,視頻等),F(xiàn)acebook使用一個自定義的解決方案,涉及外部的CDN和內(nèi)部的NFS

同樣重要的是,F(xiàn)acebook大量使用Memcache,這是一種內(nèi)存緩存系統(tǒng),通過在RAM中緩存數(shù)據(jù)和對象來加速動態(tài)數(shù)據(jù)庫驅(qū)動的網(wǎng)站,以減少閱讀時間。 Memcache是Facebook的主要緩存形式,大大減少了數(shù)據(jù)庫的負(fù)載。 擁有一個緩存系統(tǒng)可以使Facebook的速度與調(diào)用數(shù)據(jù)一樣快。 如果不需要訪問數(shù)據(jù)庫,則只需根據(jù)用戶標(biāo)識從緩存中獲取數(shù)據(jù)

所以,“Facebook使用什么數(shù)據(jù)庫”似乎是一個簡單的問題,你可以看到他們已經(jīng)添加了各種其他系統(tǒng),使其真正的具有網(wǎng)絡(luò)可擴展性。 但是,仍然可以自由地使用這樣一個觀點:“MySQL和Oracle或者M(jìn)S SQL Server一樣好或者更好,因為就算只有Facebook使用它,它也有5億用戶!”

評論0 贊同0
  •  加載中...
BoYang

BoYang

回答于2022-06-28 14:37

謝邀。我分享下他們MySQL運維優(yōu)化的邏輯,大家可以借鑒參考一下。本質(zhì)上講,他們用的是修改后的MySQL,不是原生MySQL。Facebook創(chuàng)辦以來就一直在使用MySQL數(shù)據(jù)庫,也隨著數(shù)據(jù)量的增大而不斷改進(jìn)他們的自有MySQL,目前已經(jīng)可以輕松支撐來自20多億用戶的數(shù)據(jù)量。

所以Facebook優(yōu)化MySQL的經(jīng)驗我覺得有很多借鑒學(xué)習(xí)之處,有相關(guān)數(shù)據(jù)庫經(jīng)驗也可以在評論區(qū)討論探討,互相學(xué)習(xí)學(xué)習(xí)。

1.每臺機器都使用多實例的模型,每個機器放多個實例,每個實例放多個DB,多實例之間沒有資源隔離,充分發(fā)揮實例間的最大性能。

2.將大部分核心業(yè)務(wù)引擎切換到MyRocks,不改變服務(wù)器配置大概可以節(jié)省一半服務(wù)器資源。

3.主從結(jié)構(gòu)采用基于GTID的一主多從結(jié)構(gòu),外加一個基于lossless semi-sync機制的mysqlbinlog實現(xiàn)的binlog server。

4.所有的備份都是基于mysqldump實現(xiàn),可以無需備份索引,只備份數(shù)據(jù),而且備份文件壓縮比高,更節(jié)省磁盤空間,通過改進(jìn)了的mysqldump,備份過程中還可以進(jìn)行額外壓縮。當(dāng)然備份時也會控制并行備份的數(shù)量,避免影響在線業(yè)務(wù)性能。

5.快速部署從庫可使用xtrabackup在現(xiàn)有存活的SLAVE實例上備份,也可在主庫上發(fā)起備份,再利用WDT(或者是BT)協(xié)議傳輸?shù)疆惖兀糜诶饛膸臁?/p>

總而言之,F(xiàn)acebook在優(yōu)化MySQL方面做了很多努力,也提交了很多優(yōu)秀的Innodb插件來大大提高了MySQL主從集群的性能。而且有傳聞稱,F(xiàn)acebook擁有大約1800臺MySQL服務(wù)器,內(nèi)部卻只有三名數(shù)據(jù)庫管理員(DBA)。這有點匪夷所思,不過也側(cè)面說明Facebook確實在MySQL優(yōu)化方面有著非常不錯的效果。


如果你對學(xué)習(xí)人工智能和科技新聞感興趣,歡迎訂閱我的頭條號。我會在這里發(fā)布所有與科技、科學(xué)以及機器學(xué)習(xí)有關(guān)的有趣文章。偶爾也回答有趣的問題,有問題可隨時在評論區(qū)回復(fù)和討論,看到即回。

(碼字不易,若文章對你幫助可點贊支持~)

評論0 贊同0
  •  加載中...
sumory

sumory

回答于2022-06-28 14:37

看了這么多回答,作為一個當(dāng)時參與ucloud去lOE過程的人,聊聊個人看法。

ucloud在定下2014目標(biāo)上市時,內(nèi)部就開始發(fā)起去IOE運動,2013年收尾。全球上市意味著要經(jīng)過全球檢驗,要合法合規(guī)(至少大面上要這樣)。首要過的,就是專利(如現(xiàn)在高通,每部用它專利的手機都得給它交錢)。隨ucloud商業(yè)化程度的進(jìn)行,馬云就放眼全球。當(dāng)時核心訴求是,可控性(不能將自己的咽喉放在別人的手上)。記得我當(dāng)時還問過為什么會發(fā)起這么大成本的去IOE化,得到的回答是IOE不可控(比如orocle,發(fā)生一個問題可能幾天之后才得到響應(yīng),對于快速發(fā)展的互聯(lián)網(wǎng)來說,是不可接受的)。從互聯(lián)網(wǎng)商業(yè)角度來講,錢不是關(guān)鍵的,時間、流量才是王者。互聯(lián)網(wǎng)服務(wù)要求穩(wěn)定、快速解決大于一切。這也是現(xiàn)在分布式的核心訴求(大數(shù)據(jù)也是)。能用錢解決的問題都不是問題,比如互聯(lián)網(wǎng)企業(yè)前期大部分是巨額虧損的(如BAT,滴滴,共享單車…),它們要的是快速占領(lǐng)市場。在此前題下,lOE,有兩大致命傷:

1,出問題后解決的效率太低(lOE作為穩(wěn)定性產(chǎn)品,更新節(jié)奏是比較慢的,并且因為不開源,意味著它是黑箱,遇到問題你連找臨時解決的方案都很難,等到廠商問題解決,黃花菜都涼了),

2,不可控?;ヂ?lián)網(wǎng)是快速試錯的過程,今天穩(wěn)定的東西可能明天就滿足不了需求了。指望廠商跟進(jìn),就會錯過大量的時機(這也是現(xiàn)在大數(shù)據(jù)技術(shù)快速發(fā)展和各大互聯(lián)網(wǎng)企業(yè)投入巨大資源自研的原因)。數(shù)據(jù)庫作為互聯(lián)網(wǎng)核心部件(數(shù)據(jù)就是金錢),命脈必須掌握在自己手里。開源推進(jìn)了現(xiàn)代互聯(lián)網(wǎng)的快速發(fā)展,技術(shù)不再是少數(shù)企業(yè)的專利,開源能集結(jié)全球人才的聰明才智,能夠快速解決問題,而不是局限于等待少數(shù)人去改變。開源意味著可預(yù)測,可控制、可把它作為基礎(chǔ)發(fā)展為最適合自身業(yè)務(wù)的東西。

其它:1,免費,降低成本。2,可研究,人才眾多。3,實時大數(shù)據(jù),批量。

現(xiàn)在各大互聯(lián)網(wǎng)公司已根據(jù)自身業(yè)務(wù)特點,已經(jīng)在開源基礎(chǔ)上研發(fā)了大量的定制數(shù)據(jù)庫。

從創(chuàng)業(yè)起步時角度來講,確實能省一些是一些,MySQL夠用了。發(fā)展大了之后,做分布式集群話,穩(wěn)定度和速度、靈活性都大大大于lOE,lOE也就沒那么必要了。4,去lOE還能大幅度培養(yǎng)自己的技術(shù)團(tuán)隊,拓展未來的想象力,何樂而不為。

反之,看先前和現(xiàn)在的國有企業(yè)(如銀行),動不動就停機維護(hù),以前轉(zhuǎn)個帳都要24小時甚至更長(因為它們是壟斷,它們不缺錢,一體化都是最高端的lOE服務(wù),所以我們無可奈何)

,這種情況若發(fā)生在互聯(lián)網(wǎng)身上,那可能就是生死攸關(guān)的事情——用戶的敏感度大大大于傳統(tǒng)的企業(yè)。

從上情況可知,選擇去lOE是必然,甚至,互聯(lián)網(wǎng)企業(yè)發(fā)展到一定規(guī)模,自研是必然(自研當(dāng)然需要建立在合法合規(guī)上)。

企業(yè)發(fā)展到一定程度,有3個最重要的:1,企業(yè)架構(gòu)(自動化機器)2,法律風(fēng)險(投入比會大大增加,比如現(xiàn)在ucloud遇到的情況)3,門檻(核心技術(shù),核心競爭力)

個人淺見,共同交流。

評論0 贊同0
  •  加載中...
gclove

gclove

回答于2022-06-28 14:37

Facebook最初誕生的時候并不是大公司,所以整個數(shù)據(jù)底層都是放在MY SQL上,因為MY SQL不需要授權(quán)費,對facebook是最劃算的,而在發(fā)展壯大后,MY SQL同樣夠用,當(dāng)然會一直用下去了。

為什么Facebook還會用MY SQL?

1.MySQL早期就是為PC互聯(lián)網(wǎng)服務(wù)的,而且是免費開源的,F(xiàn)acebook早期是學(xué)生創(chuàng)業(yè),跟本沒錢,而且Facebook最開始是PC產(chǎn)品,用MY SQL是自然的。

2.用MY SQL更省錢。除了MY SQL還有商業(yè)數(shù)據(jù),比如Oracle數(shù)據(jù)庫,但是商用數(shù)據(jù)庫價格非常的貴,比如官方報價一般25/CPU核,以及采購小型機一般80-120萬/臺,存儲設(shè)備一般500萬一套,但是Facebook現(xiàn)在有近萬臺的服務(wù)器,這是一筆極為龐大的資金。

3.常規(guī)數(shù)據(jù)庫的集中式數(shù)據(jù)庫很難解決海量用戶 MySQL的分布式數(shù)據(jù)庫正好適合;

4.MYSQL可以定制化,更適應(yīng)Facebook業(yè)務(wù)發(fā)展需要。oracle等無法定制,不能滿足每個不同企業(yè)的定制化數(shù)據(jù)要求。所以mysql數(shù)據(jù)庫會越來越火,也越來越受到企業(yè)的重視。

總的來說是,MYSQL更加省錢,Oracle價格太貴,另外就是可定制化。

評論0 贊同0
  •  加載中...
CNZPH

CNZPH

回答于2022-06-28 14:37

MySQL 早期就是為 Web 應(yīng)用而生的,而 Facebook 正是此領(lǐng)域的業(yè)務(wù)場景;另外從成本價格來講,MySQL 開源免費的,Oracle 價格高。在版權(quán)上,大公司更注重版權(quán),開發(fā)人員也不能隨便用盜版,所以,如果全部用正版數(shù)據(jù)庫,肯定增加成本的。而 MySQL 開源免費。當(dāng)然,也并不是說 MySQL 沒啥優(yōu)點。MySQL 作為是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),任何人都可以在 GeneralPublic License的許可下下載且個性化優(yōu),另外,MySQL 的可靠性,速度以及它適應(yīng)性強而受人歡迎。提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具 用其來管理內(nèi)容無疑是很好的選擇,而且 MySQL 數(shù)據(jù)庫系統(tǒng)使用最常用的為數(shù)據(jù)庫管理語言--結(jié)構(gòu)化查詢語言(SQL)進(jìn)行數(shù)據(jù)庫管理。不僅如此,MySQL 其自身的特點也是它的加分項。它支持AIX、FreeBSD、Windows等多種操作系統(tǒng)。不僅能夠作為一個多帶帶的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,還能夠作為一個庫而嵌入到其他的軟件中提供多語言支持。雖然其他的大型數(shù)據(jù)庫例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的不足之處,如規(guī)模小、功能有限等,但是這絲毫也沒有減少它受歡迎的程度 。當(dāng)下 IT 行業(yè)的走向是開源化、免費化。這就意味著個人可以定制更加具有個性化需求的數(shù)據(jù)庫,從而節(jié)省開銷。這點上 MySQL 是符合的,ucloud巴巴等大型項目也用了 MySQL ,主要用了分布式存儲、緩存、分表分庫等技術(shù),靈活運用而已。當(dāng)然,現(xiàn)在許多的數(shù)據(jù)庫的功能雖然很強大,但經(jīng)常性使用的無非幾種,或者有些比較適合自己使用的功能, oracle 等無法定制。所以 MySQL 這種開源的數(shù)據(jù)庫會越來越火。另外,F(xiàn)acebook 也并非一成不變使用 MySQL,節(jié)省開銷是一回事,但體驗使用質(zhì)量好更是一回事,新的需求產(chǎn)生會催促其進(jìn)行升級成長,比如 Facebook 建 立了自己的 Cassandra 數(shù)據(jù)商店并且在其網(wǎng)站上重點推出一項新的搜索功能。據(jù)Facebook的工程師 Avinash Lakshma 介紹,Cassandra 僅用 0.12 毫秒就可以寫入 50 GB 的數(shù)據(jù),比 MySQL快了超過 2500 倍。Twitter公司也計劃從 MySQL 遷移到 Cassandra 數(shù)據(jù)庫,因為后者具有更大的彈性、可擴展性和大量的社區(qū)網(wǎng)絡(luò)開源開發(fā)人員。歡迎更多交流留言評論 !

評論0 贊同0
  •  加載中...
learn_shifeng

learn_shifeng

回答于2022-06-28 14:37

其實不止是Facebook,大部分互聯(lián)網(wǎng)公司都是在使用Mysql數(shù)據(jù)庫(會輔助使用Nosql數(shù)據(jù)庫,這里暫時不討論)。

首先不能否認(rèn)的是,如果是按照單庫運行,Oracle、DB2這些商業(yè)數(shù)據(jù)庫還是很強大的。IT公司的傳統(tǒng)套路就是IOE,其中O就是指的Oracle。另外I是指IBM的服務(wù)器,E是指EMC列陣存儲。三個加起來很強大,基本上可以支持一般的企業(yè)的業(yè)務(wù),當(dāng)然,也很貴,非常貴。

當(dāng)?shù)搅薋acebook這個級別的公司,數(shù)據(jù)量可不是幾千萬,幾個億這個級別的了,這時候如果數(shù)據(jù)還是單機的話,已經(jīng)很難支撐基數(shù)大、增長快的數(shù)據(jù)了;這時候的做法就是分庫,把數(shù)據(jù)保存到不同的數(shù)據(jù)庫節(jié)點上。


這時候Mysql的優(yōu)勢就顯示出來了:

  • 開源,就意味著免費,也就節(jié)省了License的費用;

  • 也是因為開源,所以有能力的公司都會對公開版的Mysql做二次開發(fā),跟進(jìn)業(yè)務(wù)的需要去改造Mysql;

  • 服務(wù)器的錢也省下來了,也不必使用費用很高的服務(wù)器了,這一點又是省錢。


總之,Mysql省錢,還能定制改造。



希望我的回答,能夠幫助到你!

我會持續(xù)分享Java程序開發(fā)、架構(gòu)設(shè)計、職業(yè)發(fā)展等方面的知識和見解,希望能得到你的關(guān)注今日頭條【會點代碼的大叔】,轉(zhuǎn)載請注明出處。

評論0 贊同0
  •  加載中...
clasnake

clasnake

回答于2022-06-28 14:37

1.facebook確實在使用MySQL,主要是因為免費開源,因為免費降低了成本,也因為開源,其可定制化比較強,基于MySQL的第三方版本也比較多。facebook自己就基于MySQL搞了一個MyRocks數(shù)據(jù)庫。

RocksDB是FaceBook基于Google開源的LevelDB實現(xiàn)的,使用LSM(Log-Structure Merge)樹來存儲數(shù)據(jù)。Facebook開發(fā)工程師對RocksDB進(jìn)行了大量的開發(fā),使其符合MySQL的插件式存儲引擎框架的要求,移植到了MySQL上,并稱之為MyRocks。MyRocks支持基于SQL的數(shù)據(jù)讀寫、鎖機制、MVCC、事務(wù)、主從復(fù)制等MySQL絕大部分功能特性。從使用習(xí)慣考慮,使用MyRocks還是使用MySQL/InnoDB并沒有多大區(qū)別。


2.數(shù)據(jù)量大的問題,主要是通過分布式和分庫分表來解決的,并不是單機存儲。oracle的缺點就在于這,oracle雖然單機數(shù)據(jù)處理量大,但是對集群和擴展的支持比較差。mysql單機不行,但是可以集群啊,集群不夠,還可以分布式啊。況且facebook這種業(yè)務(wù),也不適合oracle。


3.facebook

的數(shù)據(jù)存儲和處理不僅僅使用了MySQL,還是用了大數(shù)據(jù)的一套東西,比如spark。


4.歷史原因和使用習(xí)慣導(dǎo)致的,這也是為什么沒有選擇另外一個開源數(shù)據(jù)庫postgreSQL的主要原因。


所以,可以這么說,facebook數(shù)據(jù)量大是一個問題,但是并不是完全或者說多帶帶依賴MySQL全部解決的。

評論0 贊同0
  •  加載中...
xialong

xialong

回答于2022-06-28 14:37

2004年成立的Facebook很快便占據(jù)了社交網(wǎng)站的榜首,智能手機出現(xiàn)標(biāo)志著互聯(lián)網(wǎng)全面轉(zhuǎn)向手機端,在移動互聯(lián)網(wǎng)時代Facebook的APP也同樣霸占著社交APP排名榜首。有很多網(wǎng)友就非常好奇Facebook使用哪個數(shù)據(jù)庫來存儲龐大的用戶資料?通過了解社交網(wǎng)絡(luò)的老大哥Facebook的數(shù)據(jù)庫演變,從中吸取寶貴的經(jīng)驗教訓(xùn)。

Facebook中的個人資料不僅僅是姓名、Email、興趣等屬性列表,而是一個非常豐富的社交圖譜,包括了親人/朋友、群組、喜歡、分享等等。剛開始的Facebook社交頁面非常簡單,采用PHP來構(gòu)建應(yīng)用程序,MySql作為長期使用數(shù)據(jù)庫,采用Memcache作為后備緩存支持。PHP應(yīng)用程序可以直接訪問MySql和Memcache,中間沒有數(shù)據(jù)抽象層。

這種簡單的數(shù)據(jù)庫架構(gòu)在訪問量很少的情況下優(yōu)勢確實非常明顯,但Facebook從2005年開始用戶量就飛速增長,最終這種數(shù)據(jù)架構(gòu)導(dǎo)致了開發(fā)人員敏捷性急劇下降。因為工程師需要使用兩種截然不同的數(shù)據(jù)模型來對數(shù)據(jù)進(jìn)行處理,MySql存儲主從對集合、Memcache則用于存儲和提供派生的平面鍵值的SQL查詢,MySql和Memcache相互協(xié)作成為了一個很大的難題,開發(fā)者使用數(shù)據(jù)庫前首先要獲得關(guān)于這兩個數(shù)據(jù)庫如何相互協(xié)作的復(fù)雜知識。

Facebook的數(shù)據(jù)量暴增也使得MySql的缺點凸顯出來,MySql的單體架構(gòu)很早強制應(yīng)用程序級的分片,應(yīng)用程序則需要跟著哪個MySql實例復(fù)雜存儲哪個用戶的配置文件,數(shù)據(jù)量暴增之后,開發(fā)和操作的復(fù)雜程度就呈現(xiàn)指數(shù)級增長。多數(shù)據(jù)中心、異地冗余復(fù)制也成為了MySql一個非常關(guān)鍵性的問題,主從異步復(fù)制轉(zhuǎn)移時,最近的數(shù)據(jù)無法避免不會丟失。

于是Facebook自2009年開始自研構(gòu)建小而美的存儲系統(tǒng)TAO

TAO可以將facebook現(xiàn)有成百上千的Mysql主從對轉(zhuǎn)化成一個高度可擴展、自動分片、基于地理分布式的數(shù)據(jù)庫集群。TAO可以將分片遷移或者克隆到同一個集群的不同服務(wù)器,這樣就能平衡負(fù)載并消除負(fù)載峰值。

如果一次分片更新后、第二次分片更新前出現(xiàn)故障,TAO的異步修復(fù)作業(yè)就會清除掛起的關(guān)聯(lián)。

使用TAO架構(gòu)之后本質(zhì)上還是沒有放棄MySQL,因為當(dāng)時的MySQL和其他數(shù)據(jù)庫都無法多帶帶解決爆炸式數(shù)據(jù)量的增長。TAO本質(zhì)上只是創(chuàng)建了一個自定義數(shù)據(jù)庫的查詢層,這層抽象了底層分片的MySql數(shù)據(jù)庫。

分布式SQL應(yīng)運而生

很多人都喜歡SQL普遍性以及靈活性,都不愿意放棄SQL的情況下對它進(jìn)行擴展。雖然很多企業(yè)沒有Facebook這樣大規(guī)模數(shù)據(jù)增長的問題,也同樣希望按照自己的意愿來拓展SQL數(shù)據(jù)庫。

第一波分布式SQL數(shù)據(jù)庫叫做NewSql,包括了Clustrix、NuoDB、Citus、Vitess等等,但這些都不足以從根本上簡化開發(fā)人員、運營的體驗,反而阻礙了開發(fā)人員。于是就有了第二波分布式SQL數(shù)據(jù)庫,靈感源于Google的Spanner,數(shù)據(jù)庫層內(nèi)置了大規(guī)??蓴U展性和全球數(shù)據(jù)分布,而不需要像之前Facebook必須內(nèi)置在應(yīng)用程序?qū)又小?/p>

總結(jié)

Facebook、Google等等這樣的科技巨頭的數(shù)據(jù)庫擴展的歷程,都是值得很多人學(xué)習(xí)和借鑒的。TAO保留了MySql的現(xiàn)有投資,但應(yīng)用工程師失去了使用SQL的能力。Google則創(chuàng)建了Spanner,走了一條不同的道路創(chuàng)建了一個全新的SQL數(shù)據(jù)庫。


以上個人淺見,歡迎批評指正。

認(rèn)同我的看法,請點個贊再走,感謝!

喜歡我的,請關(guān)注我,再次感謝!

評論0 贊同0
  •  加載中...
newsning

newsning

回答于2022-06-28 14:37

看到很多回答,不少都是不懂裝懂。很多人還扯到性能上。MySQL作為互聯(lián)網(wǎng)數(shù)據(jù)庫標(biāo)配時,MySQL的性能,穩(wěn)定性都不好。

互聯(lián)網(wǎng)公司采用MySQL,真正的原因,也是唯一的原因,就是開源免費。

互聯(lián)網(wǎng)數(shù)據(jù)的兩個特點決定了MySQL是首選,一個特點是互聯(lián)網(wǎng)針對的用戶群巨大,大的互聯(lián)網(wǎng)公司數(shù)據(jù)庫服務(wù)器成百數(shù)千,一個oracle版費幾十萬,這個費用太巨大。另外一個特點,絕大部分互聯(lián)網(wǎng)數(shù)據(jù)的重要性遠(yuǎn)低于銀行電信,甚至一般企業(yè)業(yè)務(wù),比如一個用戶的留言,一個帖子,真丟了,只要不是普遍現(xiàn)象,后果不嚴(yán)重,這也是早期MySQL不穩(wěn)定,備份機制也不好時,但仍成為互聯(lián)網(wǎng)標(biāo)配的原因。

現(xiàn)在很多大型互聯(lián)網(wǎng)公司,數(shù)據(jù)庫其實既有MySQL,也有oracle,依據(jù)數(shù)據(jù)類型來使用不同數(shù)據(jù)庫。

評論0 贊同0
  •  加載中...
Kylin_Mountain

Kylin_Mountain

回答于2022-06-28 14:37

歡迎關(guān)注我,一個程序員老司機,和你分享編程、運營、需求等等經(jīng)驗和趣事。

從你的問題描述來看,我覺得這是一個偽命題,在這個行業(yè),很多人都流傳著一個所謂經(jīng)典的名言:‘如果MySQL數(shù)據(jù)庫存儲記錄超過一百萬的時候,性能會有很大的折扣’,但是結(jié)果facebook卻能夠很好的運行,下面我們就來分析一下原因。

原因一

為了應(yīng)對高性能的應(yīng)用,我們的MySQL也在不斷的改進(jìn),不斷的引入很多高級的功能,比如表分區(qū)、復(fù)制和集群等,還引入了Memcached,利用好這些功能,能夠讓我們的應(yīng)用程序性能大大的提高,同時也能夠處理好存儲大數(shù)據(jù)的問題。

原因二

我們知道MySQL是開源的,什么意思呢?就是我們能夠?qū)ySQL的源代碼進(jìn)行修改然后編譯,從而實現(xiàn)屬于我們的定制化的MySQL,所以Facebook也對MySQL進(jìn)行了修改,刪除了很多不需要的功能,添加了很多自己需要的功能,尤其是將一些認(rèn)為效率低的東西徹底移除,打造屬于Facebook的定制化MySQL,這應(yīng)該是MySQL能夠勝任Facebook的根本原因。

原因三

雖然數(shù)據(jù)庫提供了很多我們需要的功能,但是為了提高應(yīng)用的性能,我們很多時候不一定要借助數(shù)據(jù)庫來完成,比如實現(xiàn)一些統(tǒng)計功能,我們可以不借助數(shù)據(jù)庫的存儲過程來實現(xiàn),而是采用應(yīng)用程序的方式來實現(xiàn),讓數(shù)據(jù)庫只做一件事:就是數(shù)據(jù)管理,不做太復(fù)雜的數(shù)據(jù)處理操作。

希望能夠幫助到你,還有什么疑問,可以在評論中進(jìn)行交流。

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<