㈠ 雲存儲的核心技術:虛擬化存儲,究竟虛擬是怎樣實現的
虛擬化改變了計算機使用存儲的方式。就像物理機器抽象成虛擬機(VM:Virtual Machine)一樣,物理存儲設備也被抽象成虛擬磁碟(Virtual Disk)。今天我們就來聊聊虛擬化存儲(Storage Virtualization)技術,究竟虛擬磁碟是怎樣實現的?
虛擬磁碟的實現
我們知道,伺服器擴展存儲的手段主要有直連存儲(DAS)、存儲區域網路(SAN)和網路附加存儲(NAS)這三種類型。那麼哪種存儲類型可以用來實現虛擬磁碟呢?
在虛擬化環境中,類似VMWare這樣的虛擬機管理程序hypervisor,要同時給很多VM分配存儲空間。這個過程中,我們需要先把物理存儲資源重新劃分成虛擬磁碟,然後再分配給VM。
顯然我們不能用DAS方式把物理磁碟直連到VM上,如果這樣,需要的物理磁碟就太多了。SAN是以邏輯單元(LUN:Logic Unit)的形式提供存儲資源,但是虛擬環境中VM的數量是很大的,而且倫的數量不足以支持這么多虛擬磁碟。
更重要的是,虛擬磁碟是為大量VM共享的,由於VM需要隨時創建、刪除或遷移,所以需要在遷移VM時共享存儲空間,只有原始數據不會丟失。DAS還是SAN,都不適合共享存儲。
考慮到資源分配以及共享的問題,虛擬機管理程序以NAS的方式實現虛擬磁碟。VMware通常使用VMFS(虛擬機文件系統)或NFS協議實現虛擬磁碟,VMFS文件系統是專門針對虛擬機環境協議。
每一個虛擬機的數據實際上是一堆文件,及最重要的文件的虛擬磁碟文件(VMDK文件),也有交換分區文件(VSWP文件,等價交換),非易失性存儲器(NVRAM的文件相當於BIOS),等等。每個VM對虛擬磁碟的IO操作實際上是對虛擬磁碟文件的讀寫操作。
設計、施工、和虛擬伺服器環境和優化,允許多個虛擬機訪問集成的集群存儲池,從而大大提高了資源的利用率。使用和實現資源共享,管理員可以直接從更高的效率和存儲利用率中獲益。
那麼我們如何在雲計算中使用虛擬磁碟呢?
實例存儲
最主要的一種使用虛擬磁碟的方式就是實例存儲,每個VM都是虛擬機的一個實例,虛擬機管理程序在每個實例中提供一個模擬硬體環境,它包括CPU、內存和磁碟。這樣,虛擬磁碟就是虛擬機實例的一部分,就像物質世界。刪除VM後,虛擬磁碟也將被刪除。
在這個實例存儲模型中,虛擬磁碟與虛擬機之間的存儲關系,事實上,它是DAS存儲。但是虛擬磁碟的底層實現,我們說,它是以NAS的方式實現的。虛擬機管理程序的作用是存儲VM層的存儲模型,這是從實施協議分離(VMFS或NFS)的虛擬機的低層。
VMFS協議實現了存儲資源的虛擬化,再分配各VMs
卷存儲
實例存儲有它的限制,開發人員通常希望分離實例數據,例如OS和安裝的一些伺服器應用程序和用戶數據,這樣重建VM的時候可以保留用戶的數據。
這個需求衍生出另外一種存儲模型:卷存儲。卷是存儲的主要單元,相當於虛擬磁碟分區。它不是虛擬機實例的一部分,它可以被認為是虛擬機的外部存儲設備。
該卷可以從一個VM卸載,然後附加到另一個VM。通過這種方式,我們實現了實例數據與用戶數據的分離。OpenStack的煤渣是一個體積存儲的實現。
除了實例存儲和卷存儲之外,最後我們還提到另一種特殊的虛擬存儲:對象存儲。
對象存儲
很多雲應用需要在不同的VM之間共享數據,它常常需要跨越多個數據中心,而對象存儲可以解決這個問題。在前一篇文章中的雲計算IaaS管理平台的基本功能是什麼?》中曾經提到過對象存儲。
在對象存儲模型中,數據存儲在存儲段(bucket)中,桶也可以被稱為「水桶」,因為它字面意思。我們可以用硬碟來類推,對象像一個文件,而存儲段就像一個文件夾(或目錄)。可以通過統一資源標識符(URI:統一資源標識符)找到對象和存儲段。
對象存儲的核心設計思想實際上是虛擬化,它是文件的物理存儲位置,如卷、目錄、磁碟等,虛擬化是木桶,它將文件虛擬化為對象。對於應用層,簡化了對數據訪問的訪問,屏蔽了底層存儲技術的異構性和復雜性。
對象存儲模型
NAS與對象存儲各有所長
當然你也許會問,NAS存儲技術也是一個可以解決數據共享的問題嗎?由於對象存儲的大小和成本優勢,許多雲環境使用對象存儲而不是NAS。
因為對象存儲將跨多個節點傳播,最新數據並不總是可用的 因此,對象存儲的數據一致性不強。如果有強一致性的要求,然後你可以使用NAS。目前,在雲計算環境中,NAS和對象存儲是共存的。
和NAS一樣,對象存儲也是軟體體系結構,而不是硬體體系結構。應用程序通過REST API直接訪問對象存儲。公共對象存儲包括:Amazon S3和OpenStack的Swift。
結語
在實際的雲平台應用中,我們需要根據自己的實際情況來合理運用不同的虛擬化存儲技術。
對於非結構化的靜態數據文件,如音視頻、圖片等,我們一般使用對象存儲。
對於系統鏡像以及應用程序,我們需要使用雲主機實例存儲或者卷存儲。
對於應用產生的動態數據,我們一般還需要利用雲資料庫來對數據進行管理。
㈡ 什麼事虛擬存儲器.其實現方式有哪些
指將多個不同類型、獨立存在的物理存儲體,通過軟、硬體技術,集成轉化為一個邏輯上的虛擬的存儲單元,集中管理供用戶統一使用。這個虛擬邏輯存儲單元的存儲容量是它所集中管理的各物理存儲體的存儲量的總和,而它具有的訪問帶寬則在一定程度上接近各個物理存儲體的訪問帶寬之和。
從虛擬化存儲的拓撲結構來講主要有兩種方式:即對稱式與非對稱式。對稱式虛擬存儲技術指虛擬存儲控制設備與存儲軟體系統、交換設備集成為一個整體,內嵌在網路數據傳輸路徑中;非對稱式虛擬存儲技術指虛擬存儲控制設備獨立於數據傳輸路徑之外。從虛擬化存儲的實現原理來講也有兩種方式;即數據塊虛擬與虛擬文件系統。
(2)模擬設計物理文件的存儲過程擴展閱讀
虛擬存儲器地址變換基本上有3種形虛擬存儲器工作過程式:全聯想變換、直接變換和組聯想變換。任何邏輯空間頁面能夠變換到物理空間任何頁面位置的方式稱為全聯想變換。每個邏輯空間頁面只能變換到物理空間一個特定頁面的方式稱為直接變換。
組聯想變換是指各組之間是直接變換,而組內各頁間則是全聯想變換。替換規則用來確定替換主存中哪一部分,以便騰空部分主存,存放來自輔存要調入的那部分內容。常見的替換演算法有4種。
1、隨機演算法:用軟體或硬體隨機數產生器確定替換的頁面。
2、先進先出:先調入主存的頁面先替換。
3、近期最少使用演算法(LRU,Least Recently Used):替換最長時間不用的頁面。
4、最優演算法:替換最長時間以後才使用的頁面。這是理想化的演算法,只能作為衡量其他各種演算法優劣的標准。
㈢ 資料庫存儲過程有哪些,面試題
資料庫存儲過程有哪些
/*
系統存儲過程很多,有些常用,有些不常用
常用:
sp_attach_db 附加資料庫到一個伺服器中
sp_columns 返回在當前環境中列的信息
sp_databases 列出當前系統中的資料庫
sp_configure 顯示或修改當前伺服器的全局配置
sp_depends 顯示資料庫對象的依賴信息
sp_executesql 執行動態的T-SQL語句
sp_help 報告有關資料庫對象的信息
sp_helpdb 返回指定資料庫或全部資料庫的信息
sp_helptext 顯示規則、默認值、存儲過程、觸發器、視圖等的未加密的文本定義信息
sp_indexes 返回指定遠程表的索引信息
sp_lock 返回有關鎖的信息
sp_password 增加或者修改指定login的口令
sp_rename 更改用戶創建的資料庫對象名稱
sp_renamedb 更改資料庫名稱
sp_spaceused 顯示資料庫的空間使用情況
sp_tables 返回在當前環境中可以被查詢的對象的列表
sp_who 提供當前用戶和進程的信息
不常用:
sp_addlinkedserver 創建一個允許執行分布式查詢的鏈接伺服器
sp_addlinkedsrvlogin 在本地伺服器和遠程伺服器之間創建login帳戶的映射關系
sp_addlogin 創建一個新的login帳戶
sp_add_agent_parameter 在代理文件中增加一個參數
sp_add_agent_profile 為復制代理增加一個代理文件
sp_add_alert 創建一個警報
sp_add_category 在伺服器上,增加一種作業、警報或者操作員的特定分類
sp_add_data_file_recover_suspect_db 當資料庫復原不能完成時,向文件組增加一個數據文件
sp_add_file_recover_suspect_db 對於復原有問題的資料庫增加一個文件
sp_add_job 增加一個sql server agent可以執行的作業
sp_add_jobschele 為作業創建調度
sp_add_jobserver 把指定的作業增加到指定伺服器上
sp_add_jobstep 在作業中增加一步或一個操作
sp_add_log_file_recover_suspect_db 當資料庫復原不能完成時,向文件組增加一個日誌文件
sp_add_notification 為警報創建一個通知
sp_add_operator 為警報或者作業創建一個操作員
sp_add_targetservergroup 增加指定的伺服器組
sp_add_targetsvrgrp_member 在指定的目標伺服器組增加一個目標伺服器
sp_addalias 在資料庫中為login帳戶增加一個別名
sp_addapprole 在資料庫中增加一個特殊的應用程序角色
sp_addarticle 創建文章,並把該文章添加到出版物中
sp_adddistpublisher 創建一個使用本地分布伺服器的出版伺服器
sp_adddistributiondb 在分布伺服器上創建一個新的distribution資料庫
sp_adddistributor 增加一個分布伺服器
sp_addextendedproc 在系統中增加一個擴展存儲過程
sp_addgroup 在當前資料庫中增加一個組
sp_addmergearticle 為一個已有的合並出版物創建一個文章
sp_addmergefilter 為了連接另外一個表,創建一個合並過濾器
sp_addmergepublication 創建一個新的合並出版物
sp_addmergepullsubscription 增加一個拉回類型的訂閱物
sp_addmergepullsubscription_agent 在訂閱伺服器上,為合並拉回訂閱物創建一個代理
sp_addmergesubscription 創建一個推出或者拉回類型的訂閱物
sp_addmessage 在系統中增加一個新的錯誤消息
sp_addpublicaton 創建一個快照復制或者事務復制出版物
sp_addpublicaton_snapshot 創建一個快照代理
sp_addpullsusscription 在當前訂閱伺服器的資料庫中增加一個拉回或者匿名訂閱物
sp_addpullsusscription_agent 在訂閱伺服器的資料庫中增加一個新的代理
sp_addremotelogin 在本地伺服器上增加一個遠程login帳戶,允許執行遠程存儲過程調用
sp_addrole 在當前資料庫中增加一個角色
sp_addrolemember 為當前資料庫中的一個角色增加一個安全性帳戶
sp_addserver 添加一個遠程或者本地伺服器
sp_addsrvrolemember 為固定的伺服器角色增加一個成員
sp_addsubscriber 增加一個新的訂閱伺服器
sp_addsubscriber_schele 為分布代理和合並代理增加一個調度
sp_addsubscription 訂閱文章並且設置訂閱伺服器的狀態
sp_addsynctrigers 在訂閱伺服器上創建一個立即修改觸發器
sp_addtabletocontents 在合並跟蹤表中插入一個參考
sp_addtype 創建一個用戶定義的數據類型
sp_admpdevice 增加一個備份設備
sp_adser 在當前資料庫中為一個新用戶增加一個安全性帳戶
sp_altermessage 修改錯誤信息的狀態
sp_addly_job_to_targets 把作業應用到一個或者多個目標伺服器
sp_approlepassword 在當前資料庫中改變應用程序角色的口令
sp_aarticle_validation 為指定的文章初始化確認請求
sp_aarticlecolumn 指定在文章中使用的列
sp_aarticlefilter 創建一個用於水平過濾數據的過濾器
sp_articleview 當表被過濾時,為文章創建一個同步化對象
sp_attach_single_file_db 在當前伺服器中,附加一個只有一個數據文件的資料庫
sp_aautostats 對於一個指定的索引或統計,自動顯示update statistics的狀態
sp_bindefault 把默認值綁定到列或用戶定義的數據類型上
sp_bindrule 把規則綁定到列或用戶定義的數據類型上
sp_bindsession 綁定或解除綁定與實例中的其它事務的連接
sp_browsereplcmds 在分布資料庫中返回一種可讀格式的結果集
sp_catalogs 返回指定連接伺服器中的系統目錄列表,在本地伺服器中等價於資料庫列表
sp_certify_removable 確認在可移動介質上用於分布的資料庫是否正確配置
sp_change_agent_parameter 修改復制代理配置使用的參數
sp_change_agent_profile 修改復制代理配置使用的配置參數
sp_change_users_login 修改login與當前資料庫中用戶之間的關系
sp_changearticle 改變文章的屬性
sp_changedbowner 改變當前資料庫的所有者
sp_changedistpublisher 改變分布出版伺服器的屬性
sp_changedistributor_password 改變分布伺服器的口令
sp_changedistributor_property 改變分布伺服器的屬性
sp_changedistribtutiondb 改變分布資料庫的屬性
sp_changegroup 改變安全性帳戶所屬的角色
sp_changemergearticle 改變合並文章的屬性
sp_changemergefilter 改變一些合並過濾器的屬性
sp_changemergepublication 改變合並出版物的屬性
sp_changemergepullsubscription 改變合並拉回出版物的屬性
sp_changemergesubscription 改變合並的推出或者拉回出版物的屬性
sp_changeobjectowner 改變對象的所有者
sp_changepublication 改變出版物的屬性
sp_changesubscriber 改變用於訂閱伺服器的選項
sp_changesubscriber_schele 改變用於分布式代理和事務代理的訂閱伺服器的調度
sp_changesubstatus 改變訂閱伺服器的狀態
sp_column_privileges 返回列的許可權信息
sp_column_privileges_ex 返回在鏈接伺服器上指定表的列的許可權信息
sp_columns_ex 返回在鏈接伺服器上列的信息
sp_create_removable 創建一個可移動介質資料庫
sp_createstats 創建單列的統計信息
sp_cursor 用於請求定位更新
sp_cursor_list 報告當前打開的伺服器游標屬性
sp_cursorclose 關閉和釋放游標
sp_cursorfetch 從游標中取出數據行
sp_cursoropen 定義與游標和游標選項相關聯的 SQL 語句,然後填充游標
sp_cursoroption 用於設置各種游標選項
sp_cycle_errorlog 關閉錯誤日誌文件重新開始錯誤記錄
sp_datatype_info 返回當前環境支持的數據類型信息
sp_dbfixedrolepermission 顯示每一個固定資料庫角色的許可
sp_dboption 顯示或修改資料庫選項
sp_dbremove 刪除資料庫和與該資料庫相關的所有文件
sp_defaultdb 設置登錄帳戶的默認資料庫
sp_defaultlanguage 設置登錄帳戶的默認語言
sp_delete_alert 刪除警報
sp_delete_backuphistory 刪除備份和恢復的歷史信息
sp_delete_category 刪除指定類型的作業、警報和操作員
sp_delete_job 刪除一個作業
sp_delete_jobschele 刪除作業的調度
sp_delete_jobserver 刪除指定的目標伺服器
sp_delete_jobstep 從作業中刪除指定的作業步驟
sp_delete_notfication 刪除發送給某個操作員的所有通知
sp_delete_operator 刪除操作員
sp_delete_targetserver 從可以使用的目標伺服器列表中刪除指定的伺服器
sp_delete_targetservergroup 刪除指定的目標伺服器組
sp_delete_targetsvrgrp_member 從目標伺服器組中刪除一個目標伺服器
sp_deletemergeconflictrow 刪除沖突表中的記錄行
sp_denylogin 防止window用戶或群組連接到 sql server
sp_describe_cursor 報告伺服器游標的屬性
sp_describe_cursor_columns 報告在伺服器游標的結果集中列的屬性
sp_describe_cursor_tables 報告伺服器游標參考的基表信息
sp_detach_db 分享伺服器中的資料庫
sp_drop_agentparameger 刪除配置文件中的一個或者多個參數
sp_drop_profile 刪除配置文件
sp_dropalias 刪除一個帳戶的別名
sp_dropapprole 刪除當前資料庫中的應用程序角色
sp_droparticle 從出版物中刪除一篇文章
sp_dropdevice 刪除資料庫或者備份設備
sp_dropdistpublisher 刪除出版伺服器
sp_dropdistributiondb 刪除分布資料庫
sp_dropdistributor 刪除分布伺服器
sp_dropdropextendedproc 刪除一個擴展存儲過程
sp_dropgroup 從當前資料庫中刪除角色
sp_droplinkedsrvlogin 刪除一個本地伺服器和連接伺服器的映射帳戶
sp_droplogin 刪除一個登錄帳戶
sp_dropmergearticle 從合並出版物中刪除一篇文章
sp_dropmergefilter 刪除一個合並過濾器
sp_dropmergepublication 刪除一個合並出版物和與其相關的快照復制
sp_dropmergepullsubscription 刪除一個合並拉回訂購物
sp_dropmergesubscription 刪除一個訂閱物
sp_dropmessage 刪除一個消息
sp_droppublication 刪除出版物和與其相關的文章
sp_droppullsubscription 刪除當前訂閱伺服器資料庫中的訂閱物
sp_dropremotelogin 刪除一個遠程登錄帳戶
sp_droprole 從當前資料庫中刪除一個角色
sp_droprolemember 從當前資料庫中的一個角色中刪除一個安全性帳戶
sp_dropserver 刪除一個遠程或者連接伺服器列表中的伺服器
sp_dropsrvrolemember 從一個固定的伺服器角色中刪除一個帳戶
sp_dropsubscriber 刪除一個訂閱伺服器
sp_dropsubscription 刪除訂閱物
sp_droptype 刪除一種用戶定義的數據類型
sp_dropuser 從當前資料庫中刪除一個用戶
sp_dropdropwebtask 刪除以前版本定義的web任務
sp_dsninfo 從一個與當前伺服器相關的分布伺服器返回ODBC和OLE DB數據源的信息
sp_mpparamcmd 返回存儲在分布資料庫中的參數化命令的詳細信息
sp_enumcodepages 返回一個字元集和代碼頁的列表
sp_enumcustomresovers 返回所有可用的定製解決方案表表
sp_enumdsn 返回所有可用的odbc和ole db數據源列表
sp_enumfullsubscribers 返回訂閱伺服器的列表
sp_expired_subscription_cleanup 周期性地檢查訂閱物的狀態是否失效
sp_fkeys 返回當前環境的外鍵信息
sp_foreignkeys 返回參照連接伺服器的表的主鍵的外鍵
sp_fulltext_catalog 創建和刪除全文本目錄
sp_fulltext_column 指定某一個列是否參加全文本索引
sp_fulltext_database 從當前資料庫中初始化全文本索引
sp_fulltext_service 改變Microsoft Search Service屬性
sp_fulltext_table 標記用於全文本索引的表
sp_generatefilters 在外鍵表上創建一個過濾器
sp_get_distributor 確定一個分布伺服器是否安裝在某個伺服器上
sp_getbindtoken 創建一個綁定的連接文本
sp_getmergedeletype 返回合並刪除的類型
sp_grant_publication_access 在出版物的訪問列表中增加一個用戶
sp_grantdbaccess 在當前資料庫中增加一個安全性帳戶
sp_grantlogin 允許Windows用戶或群組連接到 SQL Server
sp_help_agent_default 檢索作為參數傳送的代理類型的默認配置的標識號
sp_help_agent_parameter 返回代理配置的所有參數
sp_help_agent_profile 返回指定代理的配置
sp_help_alert 報告有關警報的信息
sp_help_category 提供有關作業、警報、操作員的指定種類的信息
sp_help_downloadlist 列出有關作業的信息
sp_help_fulltext_catalogs 返回有關全文本索引表的信息
sp_help_fulltext_columns 返回標記全文本索引的列信息
sp_help_fulltext_columns_cursor 使用游標檢索標記為全文本的索引列
sp_help_fulltext_tables 返回標記為全文本索引的表
sp_help_fulltext_tables_cursor 使用游標返回標記為全文本索引的表
sp_help_job 返回有關作業的信息
sp_help_jobhistory 提供有關作業的歷史信息
sp_help_jobschele 返回作業的調度信息
sp_help_jobserver 返回給定作業的伺服器信息
sp_help_jobstep 返回作業的步驟信息
sp_help_operator 返回有關操作員的信息
sp_help_publication_access 返回可以訪問指定出版物的帳戶列表
sp_help_targetserver 列出全部目標伺服器
sp_help_targetservergroup 列出指定伺服器組中的全部目標伺服器
sp_helparticle 顯示有關文章的信息
sp_helpconstraint 返回有關約束的類型、名稱等信息
sp_helpdbfixedrole 返回固定的伺服器角色的列表
sp_helpdevice 返回有關資料庫文件的信息
sp_helpdistpublisher 返回充當分布伺服器的出版伺服器的屬性
sp_helpdistributiondb 返回分布資料庫的屬性信息
sp_helpdistributor 列出分布伺服器、分布資料庫、工作目錄等信息
sp_helpextendproc 顯示當前定義的擴展存儲過程信息
sp_helpfile 返回與當前資料庫相關的物理文件信息
sp_helpfilegroup 返回與當前資料庫相關的文件組信息
sp_helpgroup 返回當前資料庫中的角色信息
sp_helpindex 返回有關表的索引信息
sp_helplanguage 返回有關語言的信息
sp_helplinkedsrvlogin 返回鏈接伺服器中映射的帳戶信息
sp_helplogins 返回有關login和與其相關的資料庫用戶信息
sp_helpmergearticle 返回有關合並文章的信息
sp_helpmergearticleconflicts 返回有關沖突的出版物中的文章信息
sp_helpmergeconflictrows 返回在指定沖突表中的行
sp_helpmergefilter 返回有關合並過濾器的信息
sp_helpmergepublication 返回有關合並出版物的信息
sp_helpmergepullsubscription 返回有關拉回訂閱物的信息
sp_helpmergesubscription 返回有關推出訂閱物的信息
sp_help_notification 報告對於給定操作員的警報信息
sp_helppublication 返回有關出版物的信息
sp_helprole 返回當前資料庫中的角色信息
sp_helprolemember 返回當前資料庫中角色成員的信息
sp_helprotect 返回有關用戶許可的信息
sp_helpserver 顯示特定遠程或者復制伺服器的信息
sp_helpsort 顯示系統的排列順序和字元集的信息
sp_helpsrvrole 顯示系統中的固定伺服器角色列表
sp_helpsrvrolemember 顯示系統中的固定伺服器角色成員的信息
sp_helpsubscrberinfo 顯示有關訂閱伺服器的信息
sp_helpsubscription 顯示有特定出版物等有關的訂閱物信息
sp_helpsubscription_properties 檢索安全性信息
sp_helptrigger 顯示觸發器的類型
sp_helpuser 顯示當前資料庫中的用戶、Windows NT用戶和組、角色等信息
sp_indexoption 為用戶定義的索引設置選項
sp_link_publication 設置立即修改訂閱伺服器的同步化觸發器使用的配置和安全性信息
sp_linkedservers 返回在本地伺服器上定義的鏈接伺服器的列表
sp_makewebtask 創建一個執行html文檔的任務
sp_manage_jobs_by_login 刪除或者重新指定屬於login的作業
sp_mergemmyupdate 製作用於合並復制的修改備份
sp_mergesubscription_cleanup 刪除元數據
sp_monitor 顯示系統的統計信息
sp_msx_defect 從多個伺服器操作中刪除當前伺服器
sp_msx_enlist 增加當前伺服器到可用的目標伺服器列表中
sp_pkeys 返回某個表的主鍵信息
sp_post_msx_operation 插入一些目標伺服器可以執行的信息
sp_primarykeys 返回主鍵列的信息
sp_processmail 使用擴展存儲過程修改郵件信息
sp_procoption 設置或者顯示過程選項
sp_publication_validation 初始化文章校驗請求
sp_purge_jobhistory 刪除作業的歷史記錄
sp_recompile 使存儲過程和觸發器在下一次運行時重新編譯
sp_refreshsubscriptions 在拉回出版物中增加訂閱物到文章中
sp_refreshview 刷新指定視圖的元數據
sp_reinitmergepullsubscription 標記一個合並拉回訂閱
sp_reiniteergesubscription 標記一個合並訂閱
sp_reinitpullsubscription 標記一個事務訂閱或者匿名訂閱
sp_reinitsubscription 重新初始化訂閱
sp_remoteoption 顯示或者修改遠程登錄帳戶的選項
sp_remove_job_from_targets 從給定的目標伺服器中刪除指定的作業
sp_removedbreplication 從資料庫中刪除所有的復制對象
sp_replcounters 返回復制的統計信息
sp_repldone 修改伺服器做的分布事務的統計信息
sp_replflush 處理文章的高速緩沖存儲區
sp_replication_agent_checkup 檢查每一個分布資料庫
sp_replicationdboption 在當前資料庫中設置復制資料庫的選項
sp_replsetoriginator 用於在事務復制中檢測循環登錄
sp_replshowcmds 返回標記復制的事務命令
sp_repltrans 返回在出版資料庫事務日誌中的所有事務的結果集
sp_resetstatus 重新設置異常資料庫的形態
sp_resync_targetserver 重新同步所有的多伺服器作業
sp_revoke_publication_access 從出版資料庫的訪問列表中刪除login帳戶
sp_revokedbaccess 從當前資料庫中刪除安全性帳戶
sp_revokelogin 刪除系統的login帳戶
sp_script_synctran_commands 生成一個可以用於立即修改訂閱物的腳本
*/
㈣ 簡述一下SQL Server 資料庫的物理結構
資料庫設計的過程(六個階段)
1.需求分析階段
准確了解與分析用戶需求(包括數據與處理)
是整個設計過程的基礎,是最困難、最耗費時間的一步
2.概念結構設計階段
是整個資料庫設計的關鍵
通過對用戶需求進行綜合、歸納與抽象,形成一個獨立於具體DBMS的概念模型
3.邏輯結構設計階段
將概念結構轉換為某個DBMS所支持的數據模型
對其進行優化
4.資料庫物理設計階段
為邏輯數據模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法)
5.資料庫實施階段
運用DBMS提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果
建立資料庫,編制與調試應用程序,組織數據入庫,並進行試運行
6.資料庫運行和維護階段
資料庫應用系統經過試運行後即可投入正式運行。
在資料庫系統運行過程中必須不斷地對其進行評價、調整與修改
設計特點:
在設計過程中把資料庫的設計和對資料庫中數據處理的設計緊密結合起來將這兩個方面的需求分析、抽象、設計、實現在各個階段同時進行,相互參照,相互補充,以完善兩方面的設計
㈤ 虛擬存儲方式都有哪些
目前虛擬存儲的發展尚無統一標准,從虛擬化存儲的拓撲結構來講主要有兩種方式:即對稱式與非對稱式。對稱式虛擬存儲技術是指虛擬存儲控制設備與存儲軟體系統、交換設備集成為一個整體,內嵌在網路數據傳輸路徑中;非對稱式虛擬存儲技術是指虛擬存儲控制設備獨立於數據傳輸路徑之外。從虛擬化存儲的實現原理來講也有兩種方式;即數據塊虛擬與虛擬文件系統。具體如下: 圖1對稱式虛擬存儲解決方案的示意圖
在圖1所示的對稱式虛擬存儲結構圖中,存儲控制設備 High Speed Traffic Directors(HSTD)與存儲池子系統Storage Pool集成在一起,組成SAN Appliance。可以看到在該方案中存儲控制設備HSTD在主機與存儲池數據交換的過程中起到核心作用。該方案的虛擬存儲過程是這樣的:由HSTD內嵌的存儲管理系統將存儲池中的物理硬碟虛擬為邏輯存儲單元(LUN),並進行埠映射(指定某一個LUN能被哪些埠所見),主機端將各可見的存儲單元映射為操作系統可識別的盤符。當主機向SAN Appliance寫入數據時,用戶只需要將數據寫入位置指定為自己映射的盤符(LUN),數據經過HSTD的高速並行埠,先寫入高速緩存,HSTD中的存儲管理系統自動完成目標位置由LUN到物理硬碟的轉換,在此過程中用戶見到的只是虛擬邏輯單元,而不關心每個LUN的具體物理組織結構。該方案具有以下主要特點:
(1)採用大容量高速緩存,顯著提高數據傳輸速度。
緩存是存儲系統中廣泛採用的位於主機與存儲設備之間的I/O路徑上的中間介質。當主機從存儲設備中讀取數據時,會把與當前數據存儲位置相連的數據讀到緩存中,並把多次調用的數據保留在緩存中;當主機讀數據時,在很大幾率上能夠從緩存中找到所需要的數據。直接從緩存上讀出。而從緩存讀取數據時的速度只受到電信號傳播速度的影響(等於光速),因此大大高於從硬碟讀數據時碟片機械轉動的速度。當主機向存儲設備寫入數據時,先把數據寫入緩存中,待主機端寫入動作停止,再從緩存中將數據寫入硬碟,同樣高於直接寫入硬碟的速度
(2)多埠並行技術,消除了I/O瓶頸。
傳統的FC存儲設備中控制埠與邏輯盤之間是固定關系,訪問一塊硬碟只能通過控制它的控制器埠。在對稱式虛擬存儲設備中,SAN Appliance的存儲埠與LUN的關系是虛擬的,也就是說多台主機可以通過多個存儲埠(最多8個)並發訪問同一個L
㈥ 具體的資料庫設計與實現過程
大致的講主要是根據用戶的需求,然後設計資料庫的E-R模型,然後將E-R模型圖轉換為各種表,並對其進行資料庫設計範式(範式因不同書籍有不同)的審核,然後進行資料庫的實施,然後運行維護。
一句話來講就是將用戶的需求變成帶有各種關系的表,以及其它的資料庫結構,然後供編程使用
具體如下:
按照規范設計的方法,考慮資料庫及其應用系統開發全過程,將資料庫設計分為以下六個階段
(1)需求分析。
(2)概念設計。
(3)邏輯設計。
(4)物理設計。
(5)資料庫實施。
(6)資料庫運行和維護。
5.1.1 需求分析階段
進行資料庫設計首先必須准確了解與分析用戶需求,包括數據與處理需求。需求分析是整個設計過程的基礎,是最困難、最耗時的一步。作為「地基」的需求分析是否做得充分與准確,決定了在其上構建「資料庫大廈」的速度與質量。需求分析做得不好,可能會導致整個資料庫重新設計,因此,務必引起高度重視。
5.1.2 概念模型設計階段
在概念設計階段,設計人員僅從用戶角度看待數據及其處理要求和約束,產生一個反映用戶觀點的概念模式,也稱為「組織模式」。概念模式能充分反映現實世界中實體間的聯系,又是各種基本數據模型的共同基礎,易於向關系模型轉換。這樣做有以下好處:
(1)資料庫設計各階段的任務相對單一化,設計復雜程度得到降低,便於組織管理。
(2)概念模式不受特定DBMS的限制,也獨立於存儲安排,因而比邏輯設計得到的模式更為穩定。
(3)概念模式不含具體的DBMS所附加的技術細節,更容易為用戶所理解,因而能准確地反映用戶的信息需求。
概念模型設計是整個資料庫設計的關鍵,它通過對用戶需求進行綜合、歸納與抽象,形成一個獨立於具體DBMS的概念模型。如採用基於E-R模型的資料庫設計方法,該階段即將所設計的對象抽象出E-R模型;如採用用戶視圖法,則應設計出不同的用戶視圖。
5.1.3 邏輯模型設計階段
邏輯模型設計階段的任務是將概念模型設計階段得到的基本E-R圖,轉換為與選用的DBMS產品所支持的數據模型相符合的邏輯結構。如採用基於E-R模型的資料庫設計方法,該階段就是將所設計的E-R模型轉換為某個DBMS所支持的數據模型;如採用用戶視圖法,則應進行表的規范化,列出所有的關鍵字以及用數據結構圖描述表集合中的約束與聯系,匯總各用戶視圖的設計結果,將所有的用戶視圖合成一個復雜的資料庫系統。
5.1.4 資料庫物理設計階段
資料庫的物理結構主要指資料庫的存儲記錄格式、存儲記錄安排和存取方法。顯然,資料庫的物理設計完全依賴於給定的硬體環境和資料庫產品。在關系模型系統中,物理設計比較簡單一些,因為文件形式是單記錄類型文件,僅包含索引機制、空間大小、塊的大小等內容。
物理設計可分五步完成,前三步涉及到物理結構設計,後兩步涉及到約束和具體的程序設計:
(1)存儲記錄結構設計:包括記錄的組成、數據項的類型、長度,以及邏輯記錄到存儲記錄的映射。
(2) 確定數據存放位置:可以把經常同時被訪問的數據組合在一起,「記錄聚簇(cluster)」技術能滿足這個要求。
(3)存取方法的設計:存取路徑分為主存取路徑及輔存取路徑,前者用於主鍵檢索,後者用於輔助鍵檢索。
(4)完整性和安全性考慮:設計者應在完整性、安全性、有效性和效率方面進行分析,作出權衡。
(5)程序設計:在邏輯資料庫結構確定後,應用程序設計就應當隨之開始。物理數據獨立性的目的是消除由於物理結構的改變而引起對應用程序的修改。當物理獨立性未得到保證時,可能會引發對程序的修改。
資料庫物理設計是為邏輯數據模型選取一個最適合應用環境的物理結構,包括存儲結構和存取方法。
5.1.5 資料庫實施階段
根據邏輯設計和物理設計的結果,在計算機系統上建立起實際資料庫結構、裝入數據、測試和試運行的過程稱為資料庫的實施階段。實施階段主要有三項工作。
(1)建立實際資料庫結構。對描述邏輯設計和物理設計結果的程序即「源模式」,經DBMS編譯成目標模式並執行後,便建立了實際的資料庫結構。
(2)裝入試驗數據對應用程序進行調試。試驗數據可以是實際數據,也可由手工生成或用隨機數發生器生成。應使測試數據盡可能覆蓋現實世界的各種情況。
(3)裝入實際數據,進入試運行狀態。測量系統的性能指標,是否符合設計目標。如果不符,則返回到前面,修改資料庫的物理模型設計甚至邏輯模型設計。
5.1.6 資料庫運行和維護階段
資料庫系統正式運行,標志著資料庫設計與應用開發工作的結束和維護階段的開始。運行維護階段的主要任務有四項:
(1)維護資料庫的安全性與完整性:檢查系統安全性是否受到侵犯,及時調整授權和密碼,實施系統轉儲與備份,發生故障後及時恢復。
(2)監測並改善資料庫運行性能:對資料庫的存儲空間狀況及響應時間進行分析評價,結合用戶反應確定改進措施。
(3)根據用戶要求對資料庫現有功能進行擴充。
(4)及時改正運行中發現的系統錯誤。
㈦ 資料庫的物理結構設計指的是什麼
Log File物理結構
log block結構分為日誌頭段、日誌記錄、日誌尾部
Block Header,佔用12位元組
Data部分
Block tailer,佔用4位元組
Block Header
這個部分是每個Block的頭部,主要記錄的塊的信息
Block Number,表示這是第幾個block,佔用4位元組,是通過LSN計算得來的,佔用4位元組
Block data len,表示該block中有多少位元組已經被使用了,佔用2位元組
First Rec offet,表示該block中作為第一個新的mtr開始的偏移量,佔用2位元組
Checkpoint number,表示該log block最後被寫入時的檢查點的值,佔用4位元組
㈧ 資料庫設計的基本步驟
資料庫設計的基本步驟如下:
1、安裝並打開MySQL WorkBench軟體以後,在軟體的左側邊欄有三個選項,分別是對應「連接資料庫」、「設計資料庫」、「遷移資料庫」的功能。這類選擇第二項,設計資料庫,點擊右邊的「+」號,創建models。