⑴ sql是什麼軟體
SQL資料庫
SQL (Structured Query Language) 是具有數據操縱和數據定義等多種功能的資料庫語言,這種語言具有交互性特點,能為用戶提供極大的便利,資料庫管理系統應充分利用SQL語言提高計算機應用系統的工作質量與效率。
SQL語言不僅能獨立應用於終端,還可以作為子語言為其他程序設計提供有效助力,該程序應用中,SQL可與其他程序語言一起優化程序功能,進而為用戶提供更多更全面的信息。
(1)sql引擎介紹擴展閱讀:
SQL作為一種操作命令集, 以其豐富的功能受到業內人士的廣泛歡迎, 成為提升資料庫操作效率的保障。SQL Server資料庫的應用,能夠有效提升數據請求與返回的速度,有效應對復雜任務的處理,是提升工作效率的關鍵。
由於SQL Servers資料庫管理系統具有較高的數據管理性能,因其優越的性能,應用范圍非常廣,大量應用於伺服器和客戶體系結構中。SQL Servers資料庫的性質主要由以下幾個方面體現:系統的吞吐量、響應時間以及並行處理能力, 發出請求伺服器回應的速度、還有不同屏幕之間切換的速度等等。
⑵ 看一下SQL資料庫引擎什麼意思
這是SQL Server Management Studio的連接數據窗口中,選擇「瀏覽更多」按鈕之後出現的「查找伺服器」窗口,是用來選擇要連接到哪個伺服器的。這里是沒辦法手動添加的,而是SQL Server Management Studio自動搜索和管理的。
⑶ 大數據運算的三種引擎是什麼有什麼區別
現在流行的開源引擎可不止三個,先羅列5個給你:
1)Hive,披著SQL外衣的Map-Rece。Hive是為方便用戶使用Map-Rece而在外面封裝了一層SQL,由於Hive採用了SQL,它的問題域比Map-Rece更窄,因為很多問題,SQL表達不出來,比如一些數據挖掘演算法,推薦演算法、圖像識別演算法等,這些仍只能通過編寫Map-Rece完成。
2) Impala:Google Dremel的開源實現(Apache Drill類似),因為互動式實時計算需求,Cloudera推出了Impala系統,該系統適用於互動式實時處理場景,要求最後產生的數據量一定要少。
3)Shark/Spark:為了提高Map-Rece的計算效率,Berkeley的AMPLab實驗室開發了Spark,Spark可看做基於內存的Map-Rece實現,此外,伯克利還在Spark基礎上封裝了一層SQL,產生了一個新的類似Hive的系統Shark。
4) Stinger Initiative(Tez optimized Hive):Hortonworks開源了一個DAG計算框架Tez,Tez可以理解為Google Pregel的開源實現,該框架可以像Map-Rece一樣,可以用來設計DAG應用程序,但需要注意的是,Tez只能運行在YARN上。Tez的一個重要應用是優化Hive和PIG這種典型的DAG應用場景,它通過減少數據讀寫IO,優化DAG流程使得Hive速度提供了很多倍。
5)Presto:FaceBook於2013年11月份開源了Presto,一個分布式SQL查詢引擎,它被設計為用來專門進行高速、實時的數據分析。它支持標準的ANSI SQL,包括復雜查詢、聚合(aggregation)、連接(join)和窗口函數(window functions)。Presto設計了一個簡單的數據存儲的抽象層,來滿足在不同數據存儲系統(包括HBase、HDFS、Scribe等)之上都可以使用SQL進行查詢。
⑷ MS-SQL 是甚麼
1.MS-SQL 是SQL Server.
SQL Server 是一個關系資料庫管理系統。它最初是由Microsoft、Sybase 和Ashton-Tate三家公司共同開發的,於1988 年推出了第一個OS/2版本。在Windows NT 推出後,Microsoft與Sybase 在SQL Server 的開發上就分道揚鑣了,Microsoft 將SQL Server移植到Windows NT系統上,專注於開發推廣SQL Server 的Windows NT 版本。Sybase 則較專注於SQL Server在UNⅨ操作系統上的應用。
2.常用的資料庫有很多
①. IBM 的DB2
作為關系資料庫領域的開拓者和領航人,IBM在1997年完成了System R系統的原型,1980年開始提供集成的資料庫伺服器—— System/38,隨後是SQL/DSforVSE和VM,其初始版本與SystemR研究原型密切相關。DB2 forMVSV1 在1983年推出。該版本的目標是提供這一新方案所承諾的簡單性,數據不相關性和用戶生產率。1988年DB2 for MVS 提供了強大的在線事務處理(OLTP)支持,1989 年和1993 年分別以遠程工作單元和分布式工作單元實現了分布式資料庫支持。最近推出的DB2 Universal Database 6.1則是通用資料庫的典範,是第一個具備網上功能的多媒體關系資料庫管理系統,支持包括Linux在內的一系列平台。
②. Oracle
Oracle 前身叫SDL,由Larry Ellison 和另兩個編程人員在1977創辦,他們開發了自己的拳頭產品,在市場上大量銷售,1979 年,Oracle公司引入了第一個商用SQL 關系資料庫管理系統。Oracle公司是最早開發關系資料庫的廠商之一,其產品支持最廣泛的操作系統平台。目前Oracle關系資料庫產品的市場佔有率名列前茅。
③. Informix
Informix在1980年成立,目的是為Unix等開放操作系統提供專業的關系型資料庫產品。公司的名稱Informix便是取自Information 和Unix的結合。Informix第一個真正支持SQL語言的關系資料庫產品是Informix SE(StandardEngine)。InformixSE是在當時的微機Unix環境下主要的資料庫產品。它也是第一個被移植到Linux上的商業資料庫產品。
④. Sybase
Sybase公司成立於1984年,公司名稱「Sybase」取自「system」和 「database」 相結合的含義。Sybase公司的創始人之一Bob Epstein 是Ingres 大學版(與System/R同時期的關系資料庫模型產品)的主要設計人員。公司的第一個關系資料庫產品是1987年5月推出的Sybase SQLServer1.0。Sybase首先提出Client/Server 資料庫體系結構的思想,並率先在Sybase SQLServer 中實現。
⑤. SQL Server
1987 年,微軟和 IBM合作開發完成OS/2,IBM 在其銷售的OS/2 ExtendedEdition 系統中綁定了OS/2Database Manager,而微軟產品線中尚缺少資料庫產品。為此,微軟將目光投向Sybase,同Sybase 簽訂了合作協議,使用Sybase的技術開發基於OS/2平台的關系型資料庫。1989年,微軟發布了SQL Server 1.0 版。
⑥. PostgreSQL
PostgreSQL 是一種特性非常齊全的自由軟體的對象——關系性資料庫管理系統(ORDBMS),它的很多特性是當今許多商業資料庫的前身。PostgreSQL最早開始於BSD的Ingres項目。PostgreSQL 的特性覆蓋了SQL-2/SQL-92和SQL-3。首先,它包括了可以說是目前世界上最豐富的數據類型的支持;其次,目前PostgreSQL 是唯一支持事務、子查詢、多版本並行控制系統、數據完整性檢查等特性的唯一的一種自由軟體的資料庫管理系統.
⑦.mySQL
mySQL是一個小型關系型資料庫管理系統,開發者為瑞典MySQL AB公司。在2008年1月16號被Sun公司收購。目前MySQL被廣泛地應用在Internet上的中小型網站中。由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網站為了降低網站總體擁有成本而選擇了MySQL作為網站資料庫。MySQL的官方網站的網址是: www.mysql.com
⑸ sql server2008的組件主要是哪些
SQL Server 2008系統由4個主要部分組成,這4個部分被稱為4個服務,分別是上面的數據引擎、分析服務、報表服務和集成服務。這些服務之間相互依存。
1.資料庫引擎
資料庫引擎是(SQL Server Database Engine,SSDE)是SQL Server 2008系統的核心服務,負責完成業務數據的存儲、處理、查詢和安全管理等操作。例如:創建資料庫、創建表、執行各種數據查詢、訪問資料庫等操作都是由資料庫引擎完成的。在大多數情況下,使用資料庫系統實際上就是使用資料庫引擎。例如,在如鄭和某個使用SQL Server 2008系統作為後台資料庫的航空公司機票銷售信息系統中,SQL Server 2008系統的資料庫引擎服務負責完成機票數據的添加、跟新、刪除、查詢及安全控制等操作。
2.分析服務
分析服務(SQL Server Analysis Server ,SSAS)提供了多維分析和數據挖掘功能,可以支持用戶建立資料庫和進行商業智能分析。相對多維分析(有時也稱為OLAP,即:Online Analysis Processing,中文直接為聯機分析處理)來說,OLTP (Online Transaceion Processing ,聯機事務處理)是由資料庫引擎負責完成的,使用SSAS服務,可以設計、創建和福管理包含來自於其他數據源數據的多維結構,銅鼓哦對多維數據進行多個角度的分心,可以支持管理人員業務數據的風全面的理解。另外,通過使用SSAS服務,用戶可以完成數據挖掘模型的構造和應用,實現知識發現、知識表示、知識管理和知識共享。
3.報表服務
報表服務(SQL Server Reporting Services ,SSRS)為用戶提供了支持Web的企業級的報表功能。通過使用SQL Server 2008系統提供的SSRS服務,用戶可以方便地定叢枯義和發展布滿足自己需求的報表。無論是報表的局部格式,還是報表的數據源,用戶都可以輕松地實現,這種服務極大地便利了企業的管理工作。滿足了管理人員高效、規范的管理需求。
4.集成服務
集成服務(SQL Server Integration Sevives,SSIS)是一個數據集成平台,可以完成有關數據的提取、轉換、載入等。例如:對於分析服務來說,資料庫引擎是一個重要的數據源,如何將數據源中的數據經過適當渣盯的處理載入到分析服務匯中,以便進行各種分析處理,正式SSIS服務索要解決的問題。重要的是SSIS服務可以高效地處理各種各樣的數據源,除了SQL Server數據之外,還可以處理Oracle、Excel、XML文檔、文本文件等數據源中的數據。
SQL Server 2008是一個提供了聯機失誤處理、數據倉庫、電子商務應用的資料庫和數據分析的平台。體系架構是描述系統組成要素和要素之間關系的方式。SQL Server 2008系統的系統結構是對SQL Server 2008的主要組成部分和這些組成部分之間關系的描述。
⑹ SQL 的資料庫引擎,Analysis Services ,Reporting Services ,Integration Service 有什麼區別
Analysis Services:
Analysis Services 提供了一組豐富的數據挖掘演算法,業務用戶可使用這組演算法挖掘其數據以查找特定的模式和走向。這些數據挖掘演算法可用於通過 UDM 或直接基於物理數據存儲區對數據進行分析。
Microsoft SQL Server 2005 Analysis Services (SSAS) 為商業智能解決方案提供聯機分析處理 (OLAP) 和數據挖掘功能。在使用 Analysis Services 設計商業智能解決方案之前,您應當熟悉成功的解決方案所必需的 OLAP 和數據挖掘概念。Analysis Services 通過允許開發人員在一個或多個物理數據源中定義一個稱為統一維度模型 (UDM) 的數據模型,從而很好的組合了傳統的基於 OLAP 分析和基於關系報表的各個最佳方面。基於 OLAP、報表以及自定義 BI 應用程序的所有最終用戶查詢都將通過 UDM(可提供一個此關系數據的業務視圖)訪問基礎數據源中的數據。
Reporting Services:
Microsoft SQL Server Reporting Services 是一種基於伺服器的新型報表平台,可用於創建和管理包含來自關系數據源和多維數據源的數據的表格報表、矩陣報表、圖形報表和自由格式報表。可以通過基於 Web 的連接來查看和管理您創建的報表。
Integration Service:
是微軟的一個智能解決方案,通俗點和ASP.NET程序差不多,它也設計了很多的類似控制項的東西,不過叫任務,這些任務的主要功能是將數據從數據源轉到數據目的,中間也會有查詢,聚合等等更加具體的任務。
⑺ 簡單明了,大學生都應該知道的SQL
SQL(結構化查詢語言)是用於訪問和操作資料庫中的數據的標准資料庫編程語言。
SQL是關系資料庫系統的標准語言。所有關系資料庫管理系統(RDMS),如MySQL、MS Access、Oracle、Sybase、Informix、Postgres和SQL Server都使用SQL作為它們的標准資料庫語言。
為了處理資料庫和資料庫相關的編程,程序員需要有一些介質,或者可以說介面來詳細說明一組命令或代碼來處理資料庫或訪問資料庫的數據。在本章中,將簡要介紹在學習SQL的過程中您將學習的術語。
SQL為結構化查詢語言提供了獨特的學習和資料庫處理技術,並將幫助您更好地控制SQL查詢並有效處理這些代碼。由於SQL幫助您包括資料庫創建,資料庫或表刪除,獲取行數據和修改這些數據等,並行SQL使得事情自動和平滑,最終用戶可以輕松訪問和處理該應用程序的數據。
雖然 SQL 是一門 ANSI(American National Standards Institute 美國國家標准化組織)標準的計算機語言,但是仍然存在著多種不同版本的 SQL 語言。
然而,為了與 ANSI 標准相兼容,它們必須以相似的方式共同地來支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。
要創建一個顯示資料庫中數據的網站,您需要:
RDBMS 指關系型資料庫管理系統,全稱 Relational Database Management System。
RDBMS 是 SQL 的基礎,同樣也是所有現代資料庫系統的基礎,比如 MS SQL Server、IBM DB2、Oracle、MySQL 以及 Microsoft Access。
RDBMS 中的數據存儲在被稱為表的資料庫對象中。
表是相關的數據項的集合,它由列和行組成。
代碼示例:
每個表都被分解成稱為欄位的更小的實體。Customers表中的欄位由CustomerID,CustomerName,ContactName,Address,City,PostalCode和Country組成。欄位是表中的一列,用於維護表中每條記錄的特定信息。
記錄(也稱為行)是表中存在的每個單獨條目。例如,在上面的Customers表中有91條記錄。記錄是表中的橫向實體。
列是表中的垂直實體,其包含與表中的特定欄位相關聯的所有信息。
當您對任何RDBMS執行SQL命令時,系統將確定執行請求的最佳方式,並由SQL引擎確定如何解釋該任務。
在此過程中包含了各種組件。
典型的查詢引擎處理所有非SQL查詢,但SQL查詢引擎不會處理邏輯文件。
與關系資料庫交互的標准SQL命令是創建、選擇、插入、更新、刪除和刪除,簡單分為以下幾組:
數據定義語言用於改變資料庫結構,包括創建、更改和刪除資料庫對象。用於操縱表結構的數據定義語言命令有:
數據操縱語言用於檢索、插入和修改數據,數據操縱語言是最常見的SQL命令。
數據操縱語言命令包括:
數據控制語言為用戶提供許可權控制命令。
用於許可權控制的命令有:
使用SQL格式化工具可以比較直觀地看到您想要的操作
⑻ MySQL資料庫存儲引擎詳解
存儲引擎是什麼?
MySQL中的數據用各種不同的技術存儲在文件(或者內存)中 這些技術中的每一種技術都使用不同的存儲機制 索引技巧 鎖定水平並且最終提供廣泛的不同的功能和能力 通過選擇不同的技術 你能夠獲得額外的速度或者功能 從而改善你的應用的整體功能
例如 如果你在研究大量的臨時數據 你也許需要使用內存存儲引擎 內存存儲引擎能夠在內存中存儲所有的表格數據 又或者 你也許需要一個支持事務處理的資料庫(以確保事務處理不成功時數據的回退能力)
這些不同的技術以及配套的相關功能在MySQL中被稱作存儲引擎(也稱作表類型) MySQL默認配置了許多不同的存儲引擎 可以預先設置或者在MySQL伺服器中啟用 你可以選擇適用於伺服器 資料庫和表格的存儲引擎 以便在選擇如何存儲你的信息 如何檢索這些信息以及你需要你的數據結合什麼性能和功能的時候為你提供最大的靈活性
選擇如何存儲和檢索你的數據的這種靈活性是MySQL為什麼如此受歡迎的主要原因 其它資料庫系統(包括大多數商業選擇)僅支持一種類型的數據存儲 遺憾的是 其它類型的資料庫解決方案採取的 一個尺碼滿足一切需求 的方式意味著你要麼就犧牲一些性能 要麼你就用幾個小時甚至幾天的時間詳細調整你的資料庫 使用MySQL 我們僅需要修改我們使用的存儲引擎就可以了
在這篇文章中 我們不準備集中討論不同的存儲引擎的技術方面的問題(盡管我們不可避免地要研究這些因素的某些方面) 相反 我們將集中介紹這些不同的引擎分別最適應哪種需求和如何啟用不同的存儲引擎 為了實現這個目的 在介紹每一個存儲引擎的具體情況之前 我們必須要了解一些基本的問題
如何確定有哪些存儲引擎可用
你可以在MySQL(假設是MySQL伺服器 以上版本)中使用顯示引擎的命令得到一個可用引擎的列表
- mysql>showengines; + + + + |Engine|Support|Comment| + + + + |MyISAM|DEFAULT|DefaultengineasofMySQL withgreatperformance| |HEAP|YES|AliasforMEMORY| |MEMORY|YES|Hashbased storedinmemory usefulfortemporarytables| |MERGE|YES|| |MRG_MYISAM|YES|AliasforMERGE| |ISAM|NO|Obsoletestorageengine nowreplacedbyMyISAM| |MRG_ISAM|NO|Obsoletestorageengine nowreplacedbyMERGE| |InnoDB|YES|Supportstransactions row levellocking andforeignkeys| |INNOBASE|YES|AliasforINNODB| |BDB|NO|Supportstransactionsandpage levellocking| |BERKELEYDB|NO|AliasforBDB| |NDBCLUSTER|NO|Clustered fault tolerant memory basedtables| |NDB|NO|AliasforNDBCLUSTER| |EXAMPLE|NO|Examplestorageengine| |ARCHIVE|NO|Archivestorageengine| |CSV|NO|CSVstorageengine| + + + + rowsinset( sec)
這個表格顯示了可用的資料庫引擎的全部名單以及在當前的資料庫伺服器中是否支持這些引擎
對於MySQL 以前版本 可以使用mysql> show variables like have_% (顯示類似 have_% 的變數):
- mysql>showvariableslike have_% ; + + + |Variable_name|Value| + + + |have_bdb|YES| |have_crypt|YES| |have_innodb|DISABLED| |have_isam|YES| |have_raid|YES| |have_symlink|YES| |have_openssl|YES| |have_query_cache|YES| + + + rowsinset( sec)
你可以通過修改設置腳本中的選項來設置在MySQL安裝軟體中可用的引擎 如果你在使用一個預先包裝好的MySQL二進制發布版軟體 那麼 這個軟體就包含了常用的引擎 然而 需要指出的是 如果你要使用某些不常用的引擎 特別是CSV RCHIVE(存檔)和BLACKHOLE(黑洞)引擎 你就需要手工重新編譯MySQL源碼
使用一個指定的存儲引擎
你可以使用很多方法指定一個要使用的存儲引擎 最簡單的方法是 如果你喜歡一種能滿足你的大多數資料庫需求的存儲引擎 你可以在MySQL設置文件中設置一個默認的引擎類型(使用storage_engine 選項)或者在啟動資料庫伺服器時在命令行後面加上 default storage engine或 default table type選項
更靈活的方式是在隨MySQL伺服器發布同時提供的MySQL客戶端時指定使用的存儲引擎 最直接的方式是在創建表時指定存儲引擎的類型 向下面這樣:
CREATE TABLE mytable (id int title char( )) ENGINE = INNODB
你還可以改變現有的表使用的存儲引擎 用以下語句:
ALTER TABLE mytable ENGINE = MyISAM
然而 你在以這種方式修改表格類型的時候需要非常仔細 因為對不支持同樣的索引 欄位類型或者表大小的一個類型進行修改可能使你丟失數據 如果你指定一個在你的當前的資料庫中不存在的一個存儲引擎 那麼就會創建一個MyISAM(默認的)類型的表
各存儲引擎之間的區別
為了做出選擇哪一個存儲引擎的決定 我們首先需要考慮每一個存儲引擎提供了哪些不同的核心功能 這種功能使我們能夠把不同的存儲引擎區別開來 我們一般把這些核心功能分為四類:支持的欄位和數據類型 鎖定類型 索引和處理 一些引擎具有能過促使你做出決定的獨特的功能 我們一會兒再仔細研究這些具體問題
欄位和數據類型
雖然所有這些引擎都支持通用的數據類型 例如整型 實型和字元型等 但是 並不是所有的引擎都支持其它的欄位類型 特別是BLOG(二進制大對象)或者TEXT文本類型 其它引擎也許僅支持有限的字元寬度和數據大小
這些局限性可能直接影響到你可以存儲的數據 同時也可能會對你實施的搜索的類型或者你對那些信息創建的索引產生間接的影響 這些區別能夠影響你的應用程序的性能和功能 因為你必須要根據你要存儲的數據類型選擇對需要的存儲引擎的功能做出決策
鎖定
資料庫引擎中的鎖定功能決定了如何管理信息的訪問和更新 當資料庫中的一個對象為信息更新鎖定了 在更新完成之前 其它處理不能修改這個數據(在某些情況下還不允許讀這種數據)
鎖定不僅影響許多不同的應用程序如何更新資料庫中的信息 而且還影響對那個數據的查詢 這是因為查詢可能要訪問正在被修改或者更新的數據 總的來說 這種延遲是很小的 大多數鎖定機制主要是為了防止多個處理更新同一個數據 由於向數據中插入信息和更新信息這兩種情況都需要鎖定 你可以想像 多個應用程序使用同一個資料庫可能會有很大的影響
不同的存儲引擎在不同的對象級別支持鎖定 而且這些級別將影響可以同時訪問的信息 得到支持的級別有三種:表鎖定 塊鎖定和行鎖定 支持最多的是表鎖定 這種鎖定是在MyISAM中提供的 在數據更新時 它鎖定了整個表 這就防止了許多應用程序同時更新一個具體的表 這對應用很多的多用戶資料庫有很大的影響 因為它延遲了更新的過程
頁級鎖定使用Berkeley DB引擎 並且根據上載的信息頁( KB)鎖定數據 當在資料庫的很多地方進行更新的時候 這種鎖定不會出現什麼問題 但是 由於增加幾行信息就要鎖定數據結構的最後 KB 當需要增加大量的行 也別是大量的小型數據 就會帶來問題
行級鎖定提供了最佳的並行訪問功能 一個表中只有一行數據被鎖定 這就意味著很多應用程序能夠更新同一個表中的不同行的數據 而不會引起鎖定的問題 只有InnoDB存儲引擎支持行級鎖定
建立索引
建立索引在搜索和恢復資料庫中的數據的時候能夠顯著提高性能 不同的存儲引擎提供不同的製作索引的技術 有些技術也許會更適合你存儲的數據類型
有些存儲引擎根本就不支持索引 其原因可能是它們使用基本表索引(如MERGE引擎)或者是因為數據存儲的方式不允許索引(例如FEDERATED或者BLACKHOLE引擎)
事務處理
事務處理功能通過提供在向表中更新和插入信息期間的可靠性 這種可靠性是通過如下方法實現的 它允許你更新表中的數據 但僅當應用的應用程序的所有相關操作完全完成後才接受你對表的更改 例如 在會計處理中每一筆會計分錄處理將包括對借方科目和貸方科目數據的更改 你需要要使用事務處理功能保證對借方科目和貸方科目的數據更改都順利完成 才接受所做的修改 如果任一項操作失敗了 你都可以取消這個事務處理 這些修改就不存在了 如果這個事務處理過程完成了 我們可以通過允許這個修改來確認這個操作
lishixin/Article/program/MySQL/201311/29301
⑼ 什麼是資料庫引擎
1、引擎(engine)能夠決定程序管理和數據操作的程序或程序段。資料庫引擎就是操作資料庫的一段程序或程序段。 比如:在VB中,用microsoft jet資料庫引擎和數據訪問對象DAO(data access object)可以創建功能強大的客戶/伺服器應用程序。2、面試題吧,ADO、ODBC、MICROSOFT JET都是,ASP不是。