❶ 關系資料庫存在哪些局限性
首先是不適合數據量大(PB級別)而增刪改查又很簡單的應用..例如社交網路很多用的是NoSQL,BigTable這類非關系型資料庫.其次應該是不適合數據倉儲,那需要進行反規范化(denormalize),即把拆得很細的,符合各種範式的表重新歸並成大表.
不過一般關系資料庫還是使用最普遍的.
❷ 資料庫關系模型有哪些優缺點
關系模型資料庫的優點:
1、關系模型和格式化模型不同,它是簡歷在嚴格的數學概念的基礎上的。
2、關系模型的概念單一。無論實體還是實體之間的聯系都用關系來表示。對資料庫的檢索和更新結果也是關系(即表)。所以其數據結構簡單、清晰,用戶易懂易用。
3、關系模型的存取路徑對用戶透明,從而具有更高的數據獨立性、更好的安全保密性,也簡化了程序員的工作和資料庫開發建立的工作。
關系模型資料庫的缺點:
1、由於存取路徑島嶼用戶是隱蔽的,查詢效率往往不如格式化數據模型。
2、為了提高性能,資料庫管理系統必須到用戶的查詢請求進行優化,因此增加了開發資料庫管理系統的難度。
(2)關系資料庫系統有哪些局限性擴展閱讀:
其他資料庫的優缺點:
層次資料庫的優點:
1、數據結構比較簡單清晰。
2、層次資料庫的查詢效率高。因為層次模型中記錄之間的聯系用有向邊表示,這種練習在DBMS中常常用指針來實現,因此這種練習也就是記錄之間的存取路徑。當葯存取某個節點的記錄值,DBMS就沿著這一條路徑很快找到該記錄值,所以層次資料庫的性能優於關系資料庫,不低於網狀資料庫。
3、層次數據模型提供了良好的完整性支持。
層次資料庫的缺點:
1、現實世界中很多聯系都是非層次性的。
2、對插入和產出操作的限制比較多,因此應用程序的編寫比較復雜、
3、由於結構嚴密,層次命令趨於程序化。
❸ 關系型資料庫有哪些優缺點
關系型資料庫有哪些優秀的,他九點去弄得特別清楚,確定是他的數據不好整理。
❹ 關系型資料庫的局限性有哪些難以滿足高並發讀寫的需求
隨著互聯網web2.0網站的興起,非關系型的資料庫現在成了一個極其熱門的新領域,非關系資料庫產品的發展非常迅速。而傳統的關系資料庫在應付web2.0網站,特別是超大規模和高並發的SNS類型的web2.0純動態網站已經顯得力不從心,暴露了很多難以克服的問題,例如:
1、High performance——對資料庫高並發讀寫的需求
Web2.0網站要根據用戶個性化信息來實時生成動態頁面和提供動態信息,所以基本上無法使用動態頁面靜態化技術,因此資料庫並發負載非常高,往往要達到每秒上萬次讀寫請求。關系資料庫應付上萬次SQL查詢還勉強頂得住,但是應付上萬次SQL寫數據請求,硬碟IO就已經無法承受了。其實對於普通的BBS網站,往往也存在對高並發寫請求的需求,例如像JavaEye網站的實時統計在線用戶狀態,記錄熱門帖子的點擊次數,投票計數等,因此這是一個相當普遍的需求。
2、Huge Storage——對海量數據的高效率存儲和訪問的需求
類似Facebook,twitter,Friendfeed這樣的SNS網站,每天用戶產生海量的用戶動態,以Friendfeed為例,一個月就達到了2.5億條用戶動態,對於關系資料庫來說,在一張2.5億條記錄的表裡面進行SQL查詢,效率是極其低下乃至不可忍受的。再例如大型web網站的用戶登錄系統,例如騰訊,盛大,動輒數以億計的帳號,關系資料庫也很難應付。
3、High Scalability && High Availability——對資料庫的高可擴展性和高可用性的需求
在基於web的架構當中,資料庫是最難進行橫向擴展的,當一個應用系統的用戶量和訪問量與日俱增的時候,你的資料庫卻沒有辦法像web server和app server那樣簡單的通過添加更多的硬體和服務節點來擴展性能和負載能力。對於很多需要提供24小時不間斷服務的網站來說,對資料庫系統進行升級和擴展是非常痛苦的事情,往往需要停機維護和數據遷移,為什麼資料庫不能通過不斷的添加伺服器節點來實現擴展呢?
在上面提到的「三高」需求面前,關系資料庫遇到了難以克服的障礙,而對於web2.0網站來說,關系資料庫的很多主要特性卻往往無用武之地,例如:
1. 資料庫事務一致性需求
很多web實時系統並不要求嚴格的資料庫事務,對讀一致性的要求很低,有些場合對寫一致性要求也不高。因此資料庫事務管理成了資料庫高負載下一個沉重的負擔。
2. 資料庫的寫實時性和讀實時性需求
對關系資料庫來說,插入一條數據之後立刻查詢,是肯定可以讀出來這條數據的,但是對於很多web應用來說,並不要求這么高的實時性,比方說我(JavaEye的robbin)發一條消息之後,過幾秒乃至十幾秒之後,我的訂閱者才看到這條動態是完全可以接受的。
3、對復雜的SQL查詢,特別是多表關聯查詢的需求
任何大數據量的web系統,都非常忌諱多個大表的關聯查詢,以及復雜的數據分析類型的復雜SQL報表查詢,特別是SNS類型的網站,從需求以及產品設計角度,就避免了這種情況的產生。往往更多的只是單表的主鍵查詢,以及單表的簡單條件分頁查詢,SQL的功能被極大的弱化了。
因此,關系資料庫在這些越來越多的應用場景下顯得不那麼合適了,為了解決這類問題的非關系資料庫應運而生,現在這兩年,各種各樣非關系資料庫,特別是鍵值資料庫(Key-Value Store DB)風起雲涌,多得讓人眼花繚亂。前不久國外剛剛舉辦了NoSQL Conference,各路NoSQL資料庫紛紛亮相,加上未亮相但是名聲在外的,起碼有超過10個開源的NoSQLDB,例如:
Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,HBase,CouchDB,Hypertable, Riak,Tin, Flare, Lightcloud, KiokuDB,Scalaris, Kai, ThruDB, ......
這些NoSQL資料庫,有的是用C/C++編寫的,有的是用Java編寫的,還有的是用Erlang編寫的,每個都有自己的獨到之處,看都看不過來了,我(robbin)也只能從中挑選一些比較有特色,看起來更有前景的產品學習和了解一下。
❺ 在大數據時代,關系型資料庫有哪些缺點
關系型資料庫的主要特徵
1)數據集中控制,在文件管理方法中,文件是分散的,每個用戶或每種處理都有各自的文件,這些文件之間一般是沒有聯系的,因此,不能按照統一的方法來控制、維護和管理。而資料庫則很好地克服了這一缺點,可以集中控制、維護和管理有關數據。
2)數據獨立,資料庫中的數據獨立於應用程序,包括數據的物理獨立性和邏輯獨立性,給資料庫的使用、調整、優化和進一步擴充提供了方便,提高了資料庫應用系統的穩定性。
3)數據共享,資料庫中的數據可以供多個用戶使用,每個用戶只與庫中的一部分數據發生聯系;用戶數據可以重疊,用戶可以同時存取數據而互不影響,大大提高了資料庫的使用效率。
4)減少數據冗餘,資料庫中的數據不是面向應用,而是面向系統。數據統一定咐鋒瞎義、組織和存儲,集中管理,避免了不必要的數據冗餘,也提高了數據的一致性。
5)數據結構化,整個資料庫按一定的結構形式構成,數據在記錄內部和記錄類型之間相互關聯,用戶可通過不同的路徑存取數據。
6)統一的數據保護功能,在多用戶共享數據資源的情況下,對用戶使用數據有嚴格的檢查,對資料庫規定密碼或存取許可權,基喊拒絕非法用戶進入資料庫,以確保數據的安全性、一致性和並發控制。
很多了。。關系型的有:SQLServer、Sybase、Informix
mysql 。等等。。
實時的我知道的有:Lotus Notes。。包括XML也可以做為實時資料庫的。
要那麼多來干什麼啊?現在的資料庫大多都是關系型資料庫啊。Oracle、SQLServer、Sybase、Informix、aess、DB2、mysql、vfp、人大金倉(國產的,我用過)只要你認為可以,什麼xml都可以作為關系型資料庫啊。恰好10個。 希望我的回答對你有幫助!
目前主流的大型資料庫、中型資料庫以及個人及小型資料庫幾乎都是關系型資料庫,例如ORACLE、SQL SERVER、MySQL、SyBase、Aess等等。
大型的有:
oracle、sqlserver、db2、infomix、Sybase 等
開源的有:
MySQL、Postpresql 等
文件型的有:
Aess、SQL Anywhere、sqlite、interbase
不沖突,各有用處。
很多大數據應用還是基於關系型資料庫。
大數據一般和具體應用相關,關系型資料庫是一種工具。
1、存儲引擎:MySQL中的數據用各種不同的技術存儲在文衡空件(或者內存)中。這些技術中的每一種技術都使用不同的存儲機制、索引技巧、鎖定水平並且最終提供廣泛的不同的功能和能力。通過選擇不同的技術,你能夠獲得額外的速度或者功能,從而改善你的應用的整體功能。
2、索引設計:索引和表一般要創建在不同的表空間中,以提高IO性能。因為索引不會在空值上生效,所以如果某列有空值且希望建立索引,那麼可以考慮建立組合索引(colName, 1)。
3、sql優化器(商業資料庫競爭的核心):由於移動設備的資源限制,嵌入式移動資料庫一般和應用系統集成在一起,作為整個應用系統的前端而存在,而它所管理的數據集可能是後端伺服器中數據集的子集或子集的副本。
4、事務管理與並發控制:在事務處理中,一旦某個操作發生異常,則整個事務都會重新開始,資料庫也會返回到事務開始之前的狀態,在事務中對資料庫所做的一切操作都會取消。事務要是成功的話,事務中所有的操作都會執行。
5、容災與恢復技術:基於數據同步復制技術,通過實時同步I/O,實現伺服器和資料庫數據從源端到目標端的持續捕獲(RPO趨近於0,註:RPO=最後備份與發生災難之間的時間,也是業務系統所允許的在災難過程中的最大數據丟失),並且可以全自或手動創建數據恢復點,以確保數據發生錯誤時,恢復數據到最新的時間點。
一般情況vertical-align用的地方不多是因為其兼容性不好。
在及其特殊的情況下才會用到它,在需要漢字和圖片對齊的地方我從來不用它。
在父元素高度一定的情況下用height和line-height可以實現垂直對齊。
垂直居中還和字體有一定的影響,字體不一樣可能看著就不太絕對居中。
vertica-align不是所有標簽內都有效。在td內用向你說的有中英文差異的話不如在外邊再加個div使div居中裡面的自然也就居中了。
需要圖文都居中的地方建議使用height和line-height同值的方法。