SQL Server 2008

Một phần của tài liệu Nghiên cứu cải thiện tốc độ và độ tin cậy giao dịch thời gian thực trong hệ thống thông tin chứng khoán (Trang 55 - 61)

Trong một thế giới dữ liệu ngày nay, dữ liệu và các hệ thống quản lý dữ liệu đó cần phải luôn luôn đƣợc bảo đảm và ở trạng thái có sẵn. SQL Server 2008 cho phép các nhà phát triển giảm đƣợc sự phức tạp của cơ sở hạ tầng trong khi đó vẫn bảo đảm cung cấp một nền tảng dữ liệu doanh nghiệp có khả năng bảo mật, khả năng mở rộng và quản lý tốt hơn, cùng với thời gian chết của ứng dụng giảm. Sau đây là những điểm mới của SQL server 2008:

- Nền tảng cho các nhiệm vụ then chốt: SQL Server 2008 cho phép các tổ chức có thể chạy hầu hết các ứng dụng phức tạp của họ trên một nền tảng an toàn, tin cậy và có khả năng mở rộng. Bên cạnh đó còn giảm đƣợc sự phức tạp trong việc quản lý cơ sở hạ tầng dữ liệu. SQL Server 2008 cung cấp một nền tảng tin cậy và an toàn bằng cách bảo đảm những thông tin có giá trị trong các ứng dụng đang tồn tại và nâng cao khả năng sẵn có của dữ liệu. SQL Server 2008 giới thiệu một cơ chế quản lý cách tân dựa

56

trên chính sách, cơ chế này cho phép các chính sách có thể đƣợc định nghĩa quản trị tự động cho các thực thể máy chủ trên một hoặc nhiều máy chủ. Thêm vào đó, SQL Server 2008 cho phép thi hành truy vấn dự báo với một nền tảng tối ƣu.

- Sự phát triển động: SQL Server 2008 cùng với .NET Framework đã giảm đƣợc sự phức tạp trong việc phát triển các ứng dụng mới. ADO.NET Entity Framework cho phép các chuyên gia phát triển phần mềm có thể nâng cao năng suất bằng làm việc với các thực thể dữ liệu logic đáp ứng đƣợc các yêu cầu của doanh nghiệp thay vì lập trình trực tiếp với các bảng và cột. Các mở rộng của ngôn ngữ truy vấn tích hợp (LINQ) mới trong .NET Framework đã cách mạng hóa cách các chuyên gia phát triển truy vấn dữ liệu bằng việc mở rộng Visual C# và Visual Basic .NET để hỗ trợ cú pháp truy vấn giống SQL vốn đã có. Hỗ trợ cho các hệ thống kết nối cho phép chuyên gia phát triển xây dựng các ứng dụng cho phép ngƣời dùng mang dữ liệu cùng với ứng dụng này vào các thiết bị và sau đó đồng bộ dữ liệu của chúng với máy chủ trung tâm.

- Dữ liệu quan hệ mở rộng: SQL Server 2008 cho phép các chuyên gia phát triển khai thác triệt để và quản lý bất kỳ kiểu dữ liệu nào từ các kiểu dữ liệu truyền thống đến dữ liệu không gian địa lý mới.

- Thông tin trong toàn bộ doanh nghiệp: SQL Server 2008 cung cấp một cơ sở hạ tầng có thể mở rộng, cho phép quản lý các báo cáo, phân tích với bất kỳ kích thƣớc và sự phức tạp nào, bên cạnh đó nó cho phép ngƣời dùng dễ dàng hơn trong việc truy cập thông tin thông qua sự tích hợp sâu hơn với Microsoft Office. Điều này cho phép công nghệ thông tin đƣa đƣợc thông tin của doanh nghiệp rộng khắp trong tổ chức. SQL Server 2008 tạo những bƣớc đi tuyệt vời trong việc lƣu trữ dữ liệu, cho phép ngƣời dùng hợp nhất các trung tâm dữ liệu vào một nơi lƣu trữ dữ liệu tập trung của toàn doanh nghiệp.

57

Ở phần này tôi dùng SQL Server 2008 để chứa dữ liệu chứng khoán và phân tách dữ liệu sang các bảng khác để phù hợp cho quá trình streaming dữ liệu tới bảng giá chứng khoán trên trình duyệt của ngƣời truy cập. Cấu trúc dữ liệu mới này gồm các bảng sau:

stock_currentStockInfo, stock_CurrentMarketInfo, streaming_subscribers, streaming_subscribeedSymbols, streaming_version, streaming_versionSymbols, streaming_versionSymbolsChanges, streaming_LastCheckedSymbols

Trƣớc tiên là hai bảng dữ liệu cơ bản để chứa thông tin về chứng khoán: stock_currentStockInfo sẽ lƣu tất cả các chỉ số của các loại chứng khoán ở hiện tại và bảng thị trƣờng stock_CurrentMarketInfo. Dữ liệu hai bảng này đƣợc tạo nên từ dữ liệu từ sàn chứng khoán gửi về sau đó đƣợc đọc và lƣu vào hai bảng này.

58

Hình 4.2: Bảng dữ liệu stock_currentStockInfo và stock_CurrentMarketInfo

Nhƣ đã đề cập ở chƣơng 3, nếu không phân tách ra mà gửi toàn bộ dữ liệu hiển thị hết lên web thì sẽ rất nặng, tốc độ chậm và ngƣời dùng phải tải lại trang khi muốn xem thông tin mới. Do vậy cần thiết kế thêm các bảng nhằm phân tách những dữ liệu mà khách hàng đang muốn xem. Và ở đây các bảng dữ liệu streaming đƣợc thêm vào để phục vụ cho quá trình streaming: streaming_subscribers, streaming_subscribeedSymbols, streaming_version, streaming_versionSymbols, streaming_versionSymbolsChanges, streaming_LastCheckedSymbols.

59

Hình 4.3: Bảng streaming_subscribers và streaming_subscribeedSymbols

60

Hình 4.5: Bảng streaming_versionSymbolsChanges và streaming_LastCheckedSymbols.

Để thực hiện đƣợc quá trình phân tách dữ liệu trƣớc khi streaming ta còn phải dùng thêm một số hàm thủ tục Stored Procedures trong SQL. Và để thực hiện nhƣ thuật toán phân tách dữ liệu nhƣ đã nói ở chƣơng 3 ta tạo ra thủ tục streaming_GetChanges. Thủ tục này đƣợc mô tả nhƣ sau: Cứ sau 3s thì thủ tục này dƣợc gọi và khi đƣợc gọi thì 1 phiên bản(version) đƣợc tạo ra, đồng thời chuyển dữ liệu hiện tại ở hai bảng stock_CurrentStockInfo, stock_CurrentMarketInfo vào bảng

61

streaming_LastCheckedSymbols, các dữ liệu cũ ở bảng này sẽ đƣợc xóa đi để giảm kích thƣớc dữ liệu. Sau đó chuyển dữ liệu từ bảng streaming_LastCheckedSymbols sang bảng streaming_versionSymbols. Ở bảng streaming_versionSymbolsChanges cập nhật thêm phiên bản mới vừa tạo. So sánh hai bảng bảng streaming_LastCheckedSymbols và bảng streaming_versionSymbols với cùng 1 VersionID, cùng thuộc tính nếu giá trị bằng nhau thì giá trị tƣơng ứng trong bảng streaming_versionSymbolsChanges sẽ đƣợc gán giá trị “Null”, còn nếu khác nhau thì sẽ đƣợc gán giá trị hiện tại từ bảng streaming_LastCheckedSymbols.

Một phần của tài liệu Nghiên cứu cải thiện tốc độ và độ tin cậy giao dịch thời gian thực trong hệ thống thông tin chứng khoán (Trang 55 - 61)