2009-05-14 44 views
18

Dữ liệu được lưu trữ trong máy chủ SQL như thế nào?Dữ liệu được lưu trữ trong máy chủ SQL như thế nào?

+1

Hãy làm rõ, bạn đang tìm kiếm chính xác những gì? –

+2

Tôi đang tìm cơ chế lưu trữ ..... Trong đó dữ liệu đơn hàng được nhập vào máy chủ sql ... Ví dụ: nếu chúng ta đang chèn 10 Triệu hàng, các hàng sẽ được chèn như phân trang ... transaction logs ... ... các nhóm tệp – Anoop

+5

OP phải được chỉnh sửa để phản ánh điều này. Bài đăng kém ... –

Trả lời

-4

RDBMS là gì?

RDBMS là viết tắt của Hệ thống quản lý cơ sở dữ liệu quan hệ. Dữ liệu RDBMS được cấu trúc trong các bảng cơ sở dữ liệu, các trường và bản ghi. Mỗi bảng RDBMS bao gồm các hàng của bảng cơ sở dữ liệu. Mỗi hàng của bảng cơ sở dữ liệu bao gồm một hoặc nhiều trường bảng cơ sở dữ liệu.

RDBMS lưu trữ dữ liệu vào tập hợp các bảng, có thể liên quan đến các trường chung (cột bảng cơ sở dữ liệu). RDBMS cũng cung cấp các toán tử quan hệ để thao tác dữ liệu được lưu trữ trong các bảng cơ sở dữ liệu. Hầu hết RDBMS sử dụng SQL làm ngôn ngữ truy vấn cơ sở dữ liệu.

Edgar Codd đã giới thiệu mô hình cơ sở dữ liệu quan hệ. Nhiều DBMS hiện đại không tuân theo định nghĩa của Codd về RDBMS, nhưng dù sao chúng vẫn được coi là RDBMS.

RDBMS phổ biến nhất là MS SQL Server, DB2, Oracle và MySQL. Source

16

Wikipedia này article mô tả nó khá tốt.

Đây là một tập hợp con của nó, liên quan đến dữ liệu lưu trữ:

Lưu trữ dữ liệu Đơn vị chính của lưu trữ dữ liệu là một cơ sở dữ liệu, mà là một bộ sưu tập các bảng với gõ cột. SQL Server hỗ trợ khác nhau kiểu dữ liệu, bao gồm các loại chính như Integer, Float, Decimal, Char (bao gồm cả chuỗi ký tự), Varchar (chuỗi biến nhân vật chiều dài), nhị phân (đối với các đốm màu không có cấu trúc của dữ liệu), Text (cho dữ liệu văn bản) trong số người khác. Nó cũng cho phép người dùng định nghĩa các loại kết hợp (UDT) do người dùng định nghĩa và được sử dụng. SQL Server cũng làm cho số liệu thống kê máy chủ có sẵn dưới dạng bảng ảo và chế độ xem (được gọi là Quản lý động Lượt xem hoặc DMV). Cơ sở dữ liệu cũng có thể chứa các đối tượng khác bao gồm chế độ xem, các thủ tục, chỉ mục được lưu trữ và ràng buộc, ngoài các bảng, cùng với nhật ký giao dịch. Cơ sở dữ liệu SQL Máy chủ có thể chứa tối đa trong số 231 đối tượng và có thể mở rộng nhiều tệp cấp hệ điều hành với tệp tối đa kích thước 220 TB. Dữ liệu trong cơ sở dữ liệu được lưu trữ trong dữ liệu chính tệp có phần mở rộng .mdf. Tệp dữ liệu phụ, được xác định bằng phần mở rộng .ndf, được sử dụng để lưu trữ siêu dữ liệu tùy chọn. Tệp nhật ký là được xác định bằng phần mở rộng .ldf .

Không gian lưu trữ được phân bổ cho cơ sở dữ liệu được chia thành các trang được đánh số liên tiếp, mỗi kích thước 8 KB. Một trang là đơn vị cơ bản của I/O cho các hoạt động SQL Server . Một trang được đánh dấu bằng tiêu đề96 byte để lưu trữ siêu dữ liệu về trang bao gồm trang số, loại trang, không gian trống trên trang và ID của đối tượng sở hữu nó.Trang kiểu định nghĩa dữ liệu chứa trong trang - dữ liệu được lưu trữ trong cơ sở dữ liệu, chỉ số, bản đồ phân bổ nắm giữ thông tin về cách trang được phân bổ cho các bảng và chỉ, bản đồ thay đổi mà giữ thông tin về những thay đổi thực hiện để các trang khác kể từ lần sao lưu cuối cùng hoặc ghi nhật ký hoặc chứa các loại dữ liệu lớn chẳng hạn như hình ảnh hoặc văn bản. Trong khi trang là đơn vị cơ bản của hoạt động I/O, thì không gian thực sự được quản lý theo điều khoản của mức độ bao gồm 8 trang. Một đối tượng cơ sở dữ liệu có thể kéo dài tất cả 8 trang ở một mức độ ("mức độ thống nhất") hoặc chia sẻ một mức độ với tối đa 7 đối tượng ("mức độ hỗn hợp"). Một hàng trong một bảng cơ sở dữ liệu không thể mở rộng hơn một trang, do đó giới hạn ở 8 KB ở kích thước . Tuy nhiên, nếu dữ liệu vượt quá 8 KB và hàng chứa Varchar hoặc dữ liệu varbinary, dữ liệu trong những cột được chuyển đến một trang mới (hoặc có thể là một chuỗi các trang, được gọi là một đơn vị phân bổ) và thay thế bằng một con trỏ đến dữ liệu.

Để lưu trữ vật lý của một bảng, các hàng được chia thành một loạt các phân vùng (được đánh số từ 1 đến n). Kích thước phân vùng được người dùng xác định; bởi mặc định tất cả các hàng nằm trong một phân vùng . Bảng được chia thành nhiều phân đoạn để lây lan một cơ sở dữ liệu qua cụm. Hàng trong mỗi phân vùng được lưu trữ trong cấu trúc cây hoặc cấu trúc heap . Nếu bảng có chỉ mục liên quan để cho phép nhanh chóng truy xuất các hàng, các hàng được lưu trữ theo thứ tự theo chỉ mục của chúng giá trị, với một cây B cung cấp chỉ mục . Dữ liệu nằm trong nút lá của các lá và các nút khác lưu trữ giá trị chỉ mục cho dữ liệu lá có thể truy cập từ các nút tương ứng. Nếu chỉ mục không được nhóm, các hàng không được sắp xếp theo các phím chỉ mục . Chế độ xem được lập chỉ mục có cấu trúc lưu trữ giống như bảng được lập chỉ mục . Một bảng không có chỉ mục là được lưu trữ trong cấu trúc heap không có thứ tự. Cả heaps và B-tree đều có thể mở rộng nhiều đơn vị phân bổ.

2

SQL Server là một Relational Database Management System:

Một quản lý cơ sở dữ liệu quan hệ hệ thống (RDBMS) là một quản lý hệ thống cơ sở dữ liệu (DBMS) mà dựa trên mô hình quan hệ như đã giới thiệu bởi EF Codd . Phổ biến nhất và cơ sở dữ liệu mã nguồn mở phổ biến hiện đang sử dụng trong việc sử dụng dựa trên mô hình quan hệ.

Một định nghĩa ngắn của một RDBMS có thể một DBMS trong đó dữ liệu được lưu trữ trong các hình thức các bảng và mối quan hệ giữa các dữ liệu cũng được lưu giữ dưới dạng của bảng.

1

Bạn có thể thực hiện việc này sâu như bạn muốn, nhưng đối với SQL Server 2008 Files and Filegroups Architecture - MSDN là tổng quan tốt về kiến ​​trúc cơ sở dữ liệu cơ bản.

Trang MSDN sẽ là tài nguyên có giá trị nếu bạn cần chi tiết cụ thể hơn về cách SQL Server 2008 lưu trữ dữ liệu.

8

Dữ liệu SQL Server được lưu trữ trong các tệp dữ liệu, theo mặc định, có phần mở rộng .MDF. Tệp nhật ký (.LDF) là các tệp tuần tự được SQL Server sử dụng để ghi nhật ký các giao dịch được thực hiện đối với cá thể SQL Server (nhiều hơn trong các trường hợp trong một thời điểm). Các tệp nhật ký (các tệp .LDF) được cắt ngắn tự động khi sử dụng mô hình khôi phục SIMPLE, nhưng không phải khi sử dụng BULK LOGGED hoặc khôi phục FULL.

Các cá thể cho phép nhiều hơn một lần cài đặt SQL Server trên một máy. Nếu cá thể không có tên, đó là trường hợp mặc định. Các thể hiện được đặt tên cũng có thể. Đối với ví dụ:

MachineName < - trường hợp mặc định chỉ là tên máy machinename \ Test < - đây là "Test" dụ trên máy tính này

Bạn có thể sử dụng các công cụ như SQL Server Management Studio (như SQL Server 2005) hoặc Enterprise Manager (SQL Server 2000 và trước đó) để tương tác với cá thể & các cơ sở dữ liệu trong cá thể.

Tất cả các phiên bản (như SQL Server 2005) sẽ có cơ sở dữ liệu tài nguyên ẩn, cũng như cơ sở dữ liệu chủ, mô hình, msdb và tạm thời. Các cơ sở dữ liệu này là cơ sở dữ liệu "hệ thống".

Không chắc bạn đang tìm kiếm gì khác. Hy vọng rằng sẽ giúp.

EDIT: Ồ vâng, về thể chất, dữ liệu trong "tệp dữ liệu" (tệp .MDF, theo mặc định) được cấu trúc trong cái được gọi là "trang" trong SQL Server. Dữ liệu trong tệp nhật ký (tệp .LDF) được lưu trữ tuần tự. Trong doanh nghiệp, các tệp dữ liệu và nhật ký đôi khi được phân tách trên các ổ đĩa cứng vật lý khác nhau cho đĩa I/O tốt hơn. Hoặc phần cứng RAID được sử dụng cho mục đích này.

EDIT2: Quên đề cập đến các nhóm tệp. Sử dụng các nhóm tệp, bạn có thể thiết kế lược đồ cơ sở dữ liệu lôgic của mình sao cho các phần tử của lược đồ đó được tách riêng về mặt vật lý, thường là giải ngân cơ sở dữ liệu vật lý trên các ổ cứng khác nhau. Ví dụ: bạn có thể có nhóm tệp dữ liệu, nhóm tệp chỉ mục và nhóm tệp hình ảnh (đối với hình ảnh nhị phân).

+0

Chỉ cần nhận thấy thẻ "sqlserver2008" của bạn, vì vậy một số nội dung trên có thể bị bỏ qua. =) – Garrett

+1

Bài đăng của bạn rất hữu ích – Anoop

+0

Cảm ơn bạn rất nhiều – Anoop

6

Tôi đề nghị sách 'Microsoft SQL Server 2008 Internals' - trên thực tế mọi thứ của Kalen Delaney về nội bộ là tốt, IMO.

+1

+1 cho Karen Delaney .... – Kev

+1

+1> Sách tuyệt vời, giải thích nội bộ tốt hơn nhiều so với vài trăm ký tự có thể làm trên một diễn đàn web. –

Các vấn đề liên quan