大資料庫建立
A. 大數據時代的資料庫怎麼做
未至科技數據中心解決方案是以組織價值鏈分析模型為理論指導,結合組織戰略規劃和面向對象的方法論,對組織信息化戰略進行規劃重造立足數據,以數據為基礎建立組織信息化標准,提供面向數據採集、處理、挖掘、分析、服務為組織提供一整套的基礎解決方案。未至數據中心解決方案採用了當前先進的大數據技術,基於Hadoop架構,利用HDFS、Hive、Impala等大數據技術架構組件和公司自有ETL工具等中間件產品,建立了組織內部高性能、高效率的信息資源大數據服務平台,實現組織內數億條以上數據的秒級實時查詢、更新、調用、分析等信息資源服務。未至數據中心解決方案將,為公安、教育、旅遊、住建等各行業業務數據中心、城市公共基礎資料庫平台、行業部門信息資源基礎資料庫建設和數據資源規劃、管理等業務提供了一體化的解決方案。
B. 搭建大數據平台的具體步驟是什麼
1、操作體系的挑選
操作體系一般使用開源版的RedHat、Centos或許Debian作為底層的構建渠道,要根據大數據渠道所要建立的數據剖析東西能夠支撐的體系,正確的挑選操作體系的版本。
2、建立Hadoop集群
Hadoop作為一個開發和運行處理大規模數據的軟體渠道,實現了在大量的廉價計算機組成的集群中對海量數據進行分布式計算。Hadoop結構中最核心的規劃是HDFS和MapRece,HDFS是一個高度容錯性的體系,合適布置在廉價的機器上,能夠供給高吞吐量的數據訪問,適用於那些有著超大數據集的應用程序;MapRece是一套能夠從海量的數據中提取數據最終回來成果集的編程模型。在生產實踐應用中,Hadoop非常合適應用於大數據存儲和大數據的剖析應用,合適服務於幾千台到幾萬台大的伺服器的集群運行,支撐PB級別的存儲容量。
3、挑選數據接入和預處理東西
面臨各種來源的數據,數據接入便是將這些零散的數據整合在一起,歸納起來進行剖析。數據接入首要包括文件日誌的接入、資料庫日誌的接入、關系型資料庫的接入和應用程序等的接入,數據接入常用的東西有Flume,Logstash,NDC(網易數據運河體系),sqoop等。
4、數據存儲
除了Hadoop中已廣泛應用於數據存儲的HDFS,常用的還有分布式、面向列的開源資料庫Hbase,HBase是一種key/value體系,布置在HDFS上,與Hadoop一樣,HBase的目標首要是依靠橫向擴展,通過不斷的添加廉價的商用伺服器,添加計算和存儲才能。同時hadoop的資源管理器Yarn,能夠為上層應用供給統一的資源管理和調度,為集群在利用率、資源統一等方面帶來巨大的優點。
5、挑選數據挖掘東西
Hive能夠將結構化的數據映射為一張資料庫表,並供給HQL的查詢功能,它是建立在Hadoop之上的數據倉庫根底架構,是為了削減MapRece編寫工作的批處理體系,它的出現能夠讓那些通曉sql技術、可是不熟悉MapRece、編程才能較弱和不擅長java的用戶能夠在HDFS大規模數據集上很好的利用SQL言語查詢、匯總、剖析數據。
6、數據的可視化以及輸出API
關於處理得到的數據能夠對接主流的BI體系,比如國外的Tableau、Qlikview、PowrerBI等,國內的SmallBI和新興的網易有數(可免費試用)等,將成果進行可視化,用於決策剖析;或許迴流到線上,支撐線上業務的開展。
C. 大數據平台是什麼什麼時候需要大數據平台如何建立大數據平台
首先我們要了解Java語言和Linux操作系統,這兩個是學習大數據的基礎,學習的順序不分前後。
Java :只要了解一些基礎即可,做大數據不需要很深的Java 技術,學java SE 就相當於有學習大數據基礎。
Linux:因為大數據相關軟體都是在Linux上運行的,所以Linux要學習的扎實一些,學好Linux對你快速掌握大數據相關技術會有很大的幫助,能讓你更好的理解hadoop、hive、hbase、spark等大數據軟體的運行環境和網路環境配置,能少踩很多坑,學會shell就能看懂腳本這樣能更容易理解和配置大數據集群。還能讓你對以後新出的大數據技術學習起來更快。
Hadoop:這是現在流行的大數據處理平台幾乎已經成為大數據的代名詞,所以這個是必學的。Hadoop裡麵包括幾個組件HDFS、MapRece和YARN,HDFS是存儲數據的地方就像我們電腦的硬碟一樣文件都存儲在這個上面,MapRece是對數據進行處理計算的,它有個特點就是不管多大的數據只要給它時間它就能把數據跑完,但是時間可能不是很快所以它叫數據的批處理。
Zookeeper:這是個萬金油,安裝Hadoop的HA的時候就會用到它,以後的Hbase也會用到它。它一般用來存放一些相互協作的信息,這些信息比較小一般不會超過1M,都是使用它的軟體對它有依賴,對於我們個人來講只需要把它安裝正確,讓它正常的run起來就可以了。
Mysql:我們學習完大數據的處理了,接下來學習學習小數據的處理工具mysql資料庫,因為一會裝hive的時候要用到,mysql需要掌握到什麼層度那?你能在Linux上把它安裝好,運行起來,會配置簡單的許可權,修改root的密碼,創建資料庫。這里主要的是學習SQL的語法,因為hive的語法和這個非常相似。
Sqoop:這個是用於把Mysql里的數據導入到Hadoop里的。當然你也可以不用這個,直接把Mysql數據表導出成文件再放到HDFS上也是一樣的,當然生產環境中使用要注意Mysql的壓力。
Hive:這個東西對於會SQL語法的來說就是神器,它能讓你處理大數據變的很簡單,不會再費勁的編寫MapRece程序。有的人說Pig那?它和Pig差不多掌握一個就可以了。
Oozie:既然學會Hive了,我相信你一定需要這個東西,它可以幫你管理你的Hive或者MapRece、Spark腳本,還能檢查你的程序是否執行正確,出錯了給你發報警並能幫你重試程序,最重要的是還能幫你配置任務的依賴關系。我相信你一定會喜歡上它的,不然你看著那一大堆腳本,和密密麻麻的crond是不是有種想屎的感覺。
Hbase:這是Hadoop生態體系中的NOSQL資料庫,他的數據是按照key和value的形式存儲的並且key是唯一的,所以它能用來做數據的排重,它與MYSQL相比能存儲的數據量大很多。所以他常被用於大數據處理完成之後的存儲目的地。
Kafka:這是個比較好用的隊列工具,隊列是干嗎的?排隊買票你知道不?數據多了同樣也需要排隊處理,這樣與你協作的其它同學不會叫起來,你干嗎給我這么多的數據(比如好幾百G的文件)我怎麼處理得過來,你別怪他因為他不是搞大數據的,你可以跟他講我把數據放在隊列里你使用的時候一個個拿,這樣他就不在抱怨了馬上灰流流的去優化他的程序去了,因為處理不過來就是他的事情。而不是你給的問題。當然我們也可以利用這個工具來做線上實時數據的入庫或入HDFS,這時你可以與一個叫Flume的工具配合使用,它是專門用來提供對數據進行簡單處理,並寫到各種數據接受方(比如Kafka)的。
Spark:它是用來彌補基於MapRece處理數據速度上的缺點,它的特點是把數據裝載到內存中計算而不是去讀慢的要死進化還特別慢的硬碟。特別適合做迭代運算,所以演算法流們特別稀飯它。它是用scala編寫的。Java語言或者Scala都可以操作它,因為它們都是用JVM的。
D. 創建大數據項目的五大步驟
創建大數據項目的五大步驟
企業需要積極的提升他們的數據管理能力。這並非意味著他們應該制定繁瑣的流程和監督機制。明智的企業會配合他們的數據活動的生命周期制定靈活的流程和功能:根據業務需求啟動更輕更嚴格、更強大的功能,並根據需求的增加來提升質量或精度。
一些企業正在利用新興技術來應對新的數據源,但大多數企業仍然面臨著需要努力管理好他們已經掌握或者應當掌握的數據信息的困境,而當他們試圖部署大數據功能時,發現自己還需要面對和處理新的以及當下實時的數據。
為了能夠實現持久成功的大數據項目,企業需要把重點放在如下五個主要領域。
1、確立明確的角色分工和職責范圍。
對於您企業環境中的所有的數據信息,您需要對於這些數據信息所涉及的關鍵利益相關者、決策者有一個清晰的了解和把控。當數據信息在企業的系統傳輸過程中及其整個生命周期中,角色分工將發生變化,而企業需要對這些變化有一個很好的理解。當企業開始部署大數據項目之後,務必要明確識別相關數據的關鍵利益相關者,並做好這些數據信息的完善和迭代工作。
2、加強企業的數據治理和數據管理功能。
確保您企業的進程足夠強大,能夠滿足和支持大數據用戶和大數據技術的需求。進程可以是靈活的,並應充分考慮到業務部門和事務部門的需求,這些部門均伴有不同程度的嚴謹性和監督要求。
確保您企業的參考信息架構已經更新到包括大數據。這樣做會給未來的項目打好最好的使用大數據技術和適當的信息管理能力的基礎。
確保您企業的元數據管理功能足夠強大,能夠包括並關聯所有的基本元數據組件。隨著時間的推移,進行有序的分類,滿足業務規范。
一旦您開始在您企業的生產部門推廣您的解決方案時,您會希望他們長期持續的使用該解決方案,所以對架構功能的定義並監督其發揮的作用是至關重要的。確保您企業的治理流程包括IT控制的角色,以幫助企業的利益相關者們進行引導項目,以最佳地利用這些數據信息。其還應該包括您企業的安全和法務團隊。根據我們的經驗,使用現有的監督機制能夠達到最佳的工作狀態,只要企業實施了大數據應用,並專注於快速在進程中處理應用程序,而不是阻礙進程的通過。
3、了解環境中的數據的目的和要求的精度水平,並相應地調整您企業的期望值和流程。
無論其是一個POC,或一個已經進入主流業務流程的項目,請務必確保您對於期望利用這些數據來執行什麼任務,及其質量和精度處於何種級別有一個非常清晰的了解。這種方法將使得企業的項目能夠尋找到正確的數據來源和利益相關者,以更好地評估這些數據信息的價值和影響,進而讓您決定如何最好地管理這些數據信息。更高的質量和精度則要求更強大的數據管理和監督能力。
隨著您企業大數據項目的日趨成熟,考慮建立一套按照數據質量或精確度分類的辦法,這將使得數據用戶得以更好的了解他們所使用的是什麼,並相應地調整自己的期望值。例如,您可以使用白色、藍色或金色來分別代表原始數據、清理過的數據,經過驗證可以有針對性的支持分析和使用的數據。有些企業甚至進一步完善了這一分類方法:將數據從1到5進行分類,其中1是原始數據,而5是便於理解,經過整理的、有組織的數據。
4、將對非結構化的內容的管理納入到您企業的數據管理能力。
非結構化數據一直是企業業務運營的一部分,但既然現在我們已經有了更好的技術來探索,分析和這些非結構化的內容,進而幫助改善業務流程和工業務洞察,所以我們最終將其正式納入我們的數據管理是非常重要的。大多數企業目前都被困在了這一步驟。
資料庫中基本的、非結構化的數據是以評論的形式或者自由的形式存在的,其至少是資料庫的一部分,應該被納入到數據管理。但挖掘這些數據信息則是非常難的。
數字數據存儲在傳統的結構化資料庫和業務流程外,很少有許多的治理范圍分組和數據管理的實現,除了當其被看作是一個技術問題時。一般來說,除了嚴格遵守相關的安全政策,今天的企業尚未對其進行真正有效的管理。當您的企業開始大跨步實現了大數據項目之後,您會發現這一類型的數據信息迅速進入了您需要管理的范疇,其輸出會影響您企業的商業智能解決方案或者甚至是您企業的業務活動。積極的考慮將這些數據納入到您企業的數據管理功能的范圍,並明確企業的所有權,並記錄好這些數據信息的諸如如何使用、信息來源等等資料。
不要採取「容易的輕松路線」,單純依靠大數據技術是您企業唯一正式的非結構化數據管理的過程。隨著時間的推移,企業將收集越來越多的非結構化數據,請務必搞清楚哪些數據是好的,哪些是壞的,他們分別來自何處,以及其使用是否一致,將變得越來越重要,甚至在其生命周期使用這個數據都是至關重要的。
要保持這種清晰,您可以使用大數據和其他工具,以了解您企業所收集的數據信息,確定其有怎樣的價值,需要怎樣的管理,這是至關重要的。大多數進入您企業的大數據系統的非結構化數據都已經經過一些監控了,但通常是作為一個BLOB(binarylargeobject)二進制大對象和非結構化的形式進行的。隨著您的企業不斷的在您的業務流程中「發掘」出這一類型的數據,其變得更加精確和有價值。其可能還具有額外的特點,符合安全,隱私或法律和法規的元素要求。最終,這些數據塊可以成為新的數據元素或添加到現有的數據,但您必須有元數據對其進行描述和管理,以便盡可能最有效地利用這些數據。
5、正式在生產環境運行之前進行測試。
如果您的企業做的是一次性的分析或完整的一次性的試點,這可能並不適用於您的企業,但對大多數企業來說,他們最初的大數據工作將迅速發展,他們找到一個可持續利用他們已經挖掘出的極具價值的信息的需求。這意味著需要在您的沙箱環境中進行測試,然後才正式的在您的生產環境運。
E. 如何創建一個大數據平台
所謂的大數據平台不是獨立存在的,比如網路是依賴搜索引擎獲得大數據並開展業務的,阿里是通過電子商務交易獲得大數據並開展業務的,騰訊是通過社交獲得大數據並開始業務的,所以說大數據平台不是獨立存在的,重點是如何搜集和沉澱數據,如何分析數據並挖掘數據的價值。
我可能還不夠資格回答這個問題,沒有經歷過一個公司大數據平台從無到有到復雜的過程。不過說說看法吧,也算是梳理一下想法找找噴。
這是個需求驅動的過程。
曾經聽過spotify的分享,印象很深的是,他們分享說,他們的hadoop集群第一次故障是因為,機器放在靠窗的地方,太陽曬了當機了(笑)。從簡單的沒有機房放在自家窗前的集群到一直到現在復雜的數據平台,這是一個不斷演進的過程。
對小公司來說,大概自己找一兩台機器架個集群算算,也算是大數據平台了。在初創階段,數據量會很小,不需要多大的規模。這時候組件選擇也很隨意,Hadoop一套,任務調度用腳本或者輕量的框架比如luigi之類的,數據分析可能hive還不如導入RMDB快。監控和部署也許都沒時間整理,用腳本或者輕量的監控,大約是沒有ganglia、nagios,puppet什麼的。這個階段也許算是技術積累,用傳統手段還是真大數據平台都是兩可的事情,但是為了今後的擴展性,這時候上Hadoop也許是不錯的選擇。
當進入高速發展期,也許擴容會跟不上計劃,不少公司可能會遷移平台到雲上,比如AWS阿里雲什麼的。小規模高速發展的平台,這種方式應該是經濟實惠的,省了運維和管理的成本,擴容比較省心。要解決的是選擇平台本身提供的服務,計算成本,打通數據出入的通道。整個數據平台本身如果走這條路,可能就已經基本成型了。走這條路的比較有名的應該是netflix。
也有一個階段,你發現雲服務的費用太高,雖然省了你很多事,但是花錢嗖嗖的。幾個老闆一合計,再玩下去下個月工資發布出來了。然後無奈之下公司開始往私有集群遷移。這時候你大概需要一群靠譜的運維,幫你監管機器,之前兩三台機器登錄上去看看狀態換個磁碟什麼的也許就不可能了,你面對的是成百上千台主機,有些關鍵服務必須保證穩定,有些是數據節點,磁碟三天兩頭損耗,網路可能被壓得不堪重負。你需要一個靠譜的人設計網路布局,設計運維規范,架設監控,值班團隊走起7*24小時隨時准備出台。然後上面再有平台組真的大數據平台走起。
然後是選型,如果有技術實力,可以直接用社區的一整套,自己管起來,監控部署什麼的自己走起。這個階段部署監控和用戶管理什麼的都不可能像兩三個節點那樣人肉搞了,配置管理,部署管理都需要專門的平台和組件;定期Review用戶的作業和使用情況,決定是否擴容,清理數據等等。否則等機器和業務進一步增加,團隊可能會死的很慘,疲於奔命,每天事故不斷,進入惡性循環。
當然有金錢實力的大戶可以找Cloudera,Hortonworks,國內可以找華為星環,會省不少事,適合非互聯網土豪。當然互聯網公司也有用這些東西的,比如Ebay。
接下去你可能需要一些重量的組件幫你做一些事情。
比如你的數據接入,之前可能找個定時腳本或者爬log發包找個伺服器接收寫入HDFS,現在可能不行了,這些大概沒有高性能,沒有異常保障,你需要更強壯的解決方案,比如Flume之類的。
你的業務不斷壯大,老闆需要看的報表越來越多,需要訓練的數據也需要清洗,你就需要任務調度,比如oozie或者azkaban之類的,這些系統幫你管理關鍵任務的調度和監控。
數據分析人員的數據大概可能漸漸從RDBMS搬遷到集群了,因為傳統資料庫已經完全hold不住了,但他們不會寫代碼,所以你上馬了Hive。然後很多用戶用了Hive覺得太慢,你就又上馬交互分析系統,比如Presto,Impala或者SparkSQL。
你的數據科學家需要寫ML代碼,他們跟你說你需要Mahout或者Spark MLLib,於是你也部署了這些。
至此可能數據平台已經是工程師的日常工作場所了,大多數業務都會遷移過來。這時候你可能面臨很多不同的問題。
比如各個業務線數據各種數據表多的一塌糊塗,不管是你還是寫數據的人大概都不知道數據從哪兒來,接下去到哪兒去。你就自己搞了一套元數據管理的系統。
你分析性能,發現你們的數據都是上百Column,各種復雜的Query,裸存的Text格式即便壓縮了也還是慢的要死,於是你主推用戶都使用列存,Parquet,ORC之類的。
又或者你發現你們的ETL很長,中間生成好多臨時數據,於是你下狠心把pipeline改寫成Spark了。
再接下來也許你會想到花時間去維護一個門戶,把這些零散的組件都整合到一起,提供統一的用戶體驗,比如一鍵就能把數據從資料庫chua一下拉到HDFS導入Hive,也能一鍵就chua一下再搞回去;點幾下就能設定一個定時任務,每天跑了給老闆自動推送報表;或者點一下就能起一個Storm的topology;或者界面上寫幾個Query就能查詢Hbase的數據。這時候你的數據平台算是成型了。
當然,磕磕碰碰免不了。每天你都有新的問題和挑戰,否則你就要失業了不是?
你發現社區不斷在解決你遇到過的問題,於是你們架構師每天分出很多時間去看社區的進展,有了什麼新工具,有什麼公司發布了什麼項目解決了什麼問題,興許你就能用上。
上了這些亂七八糟的東西,你以為就安生了?Hadoop平台的一個大特點就是坑多。尤其是新做的功能新起的項目。對於平台組的人,老闆如果知道這是天然坑多的平台,那他也許會很高興,因為跟進社區,幫忙修bug,一起互動其實是很提升公司影響力的實情。當然如果老闆不理解,你就自求多福吧,招幾個老司機,出了問題能馬上帶路才是正道。當然團隊的技術積累不能不跟上,因為數據平台還是亂世,三天不跟進你就不知道世界是什麼樣了。任何一個新技術,都是坑啊坑啊修啊修啊才完善的。如果是關鍵業務換技術,那需要小心再小心,技術主管也要有足夠的積累,能夠駕馭,知道收益和風險。
F. 如何正確建立大數據結構
如何正確建立大數據結構
大數據各行各業的企業都提供了潛力。正確使用這些大數據信息可能將增加商業價值,幫助您的企業從市場競爭中脫穎而出。如下是幾個企業成功應用大數據的案例:
大數據的例子
汽車製造商已經開始使用大數據來了解汽車何時需要返回到車庫進行維修。使用汽車發動機的數百個感測器,可以為汽車製造商發送實時的數據信息,這使得製造商甚至比駕駛汽車的司機還要提前知道汽車何時會出現故障。卡車製造商開始使用大數據,基於實時交通條件和客戶的需求來改進他們的路由,從而節約燃料和時間。
零售業也開始越來越多的使用大數據,鑒於越來越多的產品均有一個RFID標簽能幫助零售商跟蹤產品,知道很少某種產品庫存缺貨,並及時向供貨商訂購新產品。沃爾瑪便是這正確利用大數據這方面的一個很好的例子。當零售商開始識別他們的客戶時,就能夠更好地建立商店,更好的滿足客戶的需求。
當然,上述這些只是幾個淺顯的例子,大數據的可能性幾乎是無止境的。不久的將來,我們將討論在大數據平台上的最佳實踐。知道大數據能夠提供商業價值是一回事;而企業要知道如何創建正確的架構則又是另一回事了。
大數據結構
大數據有三個特徵,使得大數據不同於現有的數據倉庫和商業智能。大數據的這三大特點是:
數據量龐大:大數據的數據量相當龐大,更多的時候大數據的數據量可以達到比數TB到PB級位元組。
高速度傳遞:所有這些TB和PB位元組的數據能夠實時交付,數據倉庫每天都需要應付如此高速的數據流。
種類繁雜:大數據比使用現有的商業智能中正常數據的種類更繁雜。大數據還包括非結構化社交數據,如Twitter或Facebook網的社會信息、日誌文件、電子郵件等。
根據這些特性,建立您企業的體系結構是非常重要的。一個很好的出發點是以企業現有的數據倉庫為基礎。高密度數據的數據倉庫,其中包含用於當前商業智能的儀錶板。重要的是,該企業是為了之後再移動到大數據。把大數據轉移到您的企業有如下四個步驟:
1)進一步分析當前的數據:從儀錶板和ad-hoc查詢,到諸如空間分析和圖形分析或更高級先進的分析。您可以專注於客戶忠誠度、客戶流失率、分析本地情況(如何接近您的客戶),並開始建立社交網路(與您的客戶建立社交聯系)。這些分析將為您的企業帶來更多的商業價值。
2)建立正確的架構,用於存儲數據的種類和數量:這一切大數據是如何存儲在您的企業的。把這些原始數據直接轉化到數據倉庫中,每兆位元組以低成本優化存儲大量低密度數據是十分重要的。這便是Hadoop本身已被證明是非常有效的。Hadoop是開源的,與現有的資料庫兼容。它集合了所有可用的數據,您可以用它來尋找新的關系和新的潛在的商業價值。
3)為數據傳輸速度建立體系結構:一旦您有合適的設備來存儲大量的不同的數據,您就可以開始實時處理數據。例如如果您有數據流從感測器傳輸而來,存儲在Hadoop,您想看看正在發生的事件,並需要確定是否需要採取行動。您可以使用一切歷史數據,以確定在實時條件下進行預期(預測分析),您可以創建模型反應發生模式。如果您已經建立了一個智能的基礎設施,您將能夠實時響應事件,並進行實時的決策。
4)開始探索新的模式:利用所有可用的數據,您可以在您的數據中發現新的模式。從Hadoop與其他可用的數據匯總數據相匹配。有不同的大數據初創公司開發的工具,在這個平台上分析,可以幫助您可視化,尋求新的關系。我們的目標是找到您要解決的下一個問題,最大限度地幫助您從數據中獲取商業價值。
正確發展大數據結構可謂是一個挑戰,同時可能成本是相當昂貴的。然而,結果必將物超所值的讓您成功收回投資。
G. 如何建立大數據數據倉庫
BI領域注重統計分析,傳統的資料庫注重在線事務。。 統計分析的數據量一般都比較大,注重的是查詢,一次查詢大批量的數據,但是傳統的資料庫一般都是為了支持在線事務的,所以插入更新較多,查詢往往只根據條件查詢。。
H. 怎樣建立一個大型資料庫
建立一個資料庫當你想建立一個表時,你必須按照以下的步驟先建立一個資料庫:在SQL Enterprise Manager中,選擇你的資料庫的名字。從Manage菜單中選擇Databases選項。管理資料庫的窗口就出現了。在工具條上點擊新建資料庫的按鈕,就會出現新建資料庫的對話框(如圖3.5所示)。注意</B>現在版本的SQL Server(version 6.5)最多能有32,767個資料庫。每個資料庫的最小容量是1MB,最大容量是ITB。在SQL Enterprise Manager對話框中的新建資料庫對話框。 填寫你的資料庫所要使用的名字(不能有空格)。 然後,填寫你要建立的資料庫所在的資料庫設備(例如,他就是你在前面一步建立的資料庫設備)。 這個新建資料庫的對話框會以圖形的方式顯示所有資料庫設備的已經使用和沒有使用的空間。 當你建立一個資料庫時,你可以選擇去建立事務日誌。為了建立事務日誌,你需要指定一個log device(日誌資料庫設備)。在新建資料庫對話框中,打開標有LogDevice的下拉式框,然後選擇一個資料庫設備和用於日誌的空間大小。注意</B>每個資料庫都有它自己的事務處理日誌,它記錄了對資料庫每一個請求(modify,insert,delete)。日誌文件是對資料庫的內部處理過程的一種監視。它允許你對資料庫執行updates, inserts, deletes等操作。所以在需要的時候,你也可以取消這些操作的結果。在系統沒有正確地關閉,而只是停機或重新啟動時,這些事務處理的日誌是很有用的-在重新啟動時,SQL Server會根據事務處理日誌來恢復數據。注意</B>當你把事務處理日誌向一個mp 資料庫傾倒時,你的事務處理日誌會被截短。你也可以強制地使你的事務日誌縮短。如果你想知道有關事務日誌的更多的信息,請查詢SQL 在線幫助文件,用關鍵字transaction log查找。6當你完成在新建資料庫的對話框中的這些問題的回答,點擊Create Now 按鈕。你的資料庫就會在Databases文件夾下顯示出來。
I. 大數據量的系統的資料庫結構如何設計
1、把你表中經常查詢的和不常用的分開幾個表,也就是橫向切分
2、把不同類型的分成幾個表,縱向切分
3、常用聯接的建索引
4、伺服器放幾個硬碟,把數據、日誌、索引分盤存放,這樣可以提高IO吞吐率
5、用優化器,優化你的查詢
6、考慮冗餘,這樣可以減少連接
7、可以考慮建立統計表,就是實時生成總計表,這樣可以避免每次查詢都統計一次
mrzxc 等說的好,考慮你的系統,注意負載平衡,查詢優化,25 萬並不大,可以建一個表,然後按mrzxc 的3 4 5 7 優化。 速度,影響它的因數太多了,且數據量越大越明顯。
1、存儲 將硬碟分成NTFS格式,NTFS比FAT32快,並看你的數據文件大小,1G以上你可以採用多資料庫文件,這樣可以將存取負載分散到多個物理硬碟或磁碟陣列上。
2、tempdb tempdb也應該被單獨的物理硬碟或磁碟陣列上,建議放在RAID 0上,這樣它的性能最高,不要對它設置最大值讓它自動增長
3、日誌文件 日誌文件也應該和數據文件分開在不同的理硬碟或磁碟陣列上,這樣也可以提高硬碟I/O性能。
4、分區視圖 就是將你的數據水平分割在集群伺服器上,它適合大規模OLTP,SQL群集上,如果你資料庫不是訪問特別大不建議使用。
5、簇索引 你的表一定有個簇索引,在使用簇索引查詢的時候,區塊查詢是最快的,如用between,應為他是物理連續的,你應該盡量減少對它的updaet,應為這可以使它物理不連續。
6、非簇索引 非簇索引與物理順序無關,設計它時必須有高度的可選擇性,可以提高查詢速度,但對表update的時候這些非簇索引會影響速度,且佔用空間大,如果你願意用空間和修改時間換取速度可以考慮。
7、索引視圖 如果在視圖上建立索引,那視圖的結果集就會被存儲起來,對與特定的查詢性能可以提高很多,但同樣對update語句時它也會嚴重減低性能,一般用在數據相對穩定的數據倉庫中。
8、維護索引 你在將索引建好後,定期維護是很重要的,用dbcc showcontig來觀察頁密度、掃描密度等等,及時用dbcc indexdefrag來整理表或視圖的索引,在必要的時候用dbcc dbreindex來重建索引可以受到良好的效果。 不論你是用幾個表1、2、3點都可以提高一定的性能,5、6、8點你是必須做的,至於4、7點看你的需求,我個人是不建議的。打了半個多小時想是在寫論文,希望對你有幫助。
J. 大型資料庫建表有啥規范和要求
關鍵是科學的建表大資料庫一般只能主鍵,也無外。你不信看年discuz.
如果是mysql,可以不設約束。
記住,把表規劃好。設一個主鍵即楞。