Xét lại việc chuẩn hóa dữ liệu, Phần 2: Các hồ sơ
kinh doanh trong thế kỷ 21
Giới thiệu
Phần đầu của loạt bài 2 phần này đã thảo luận về lưu trữ hồ sơ trước thế kỷ 21 và những ảnh
hưởng của các cơ sở dữ liệu quan hệ và Web. Trước khi đưa vào các hệ thống máy tính, các hồ
sơ kinh doanh được tạo ra và được lưu trữ như nó vốn có theo định dạng ban đầu chưa chuẩn hóa
của chúng. Các ví dụ bao gồm các viên đá, các gậy đếm kiểm hoặc các hình thức trên giấy. Với
sự ra đời của các hệ thống máy tính, chuẩn hóa dữ liệu đã được phát minh để chuyển đổi các hồ
sơ kinh doanh sang một cách biểu diễn khác, có thể bảo tồn không gian và tránh các dị thường
cập nhật trong các cơ sở dữ liệu. Tuy nhiên, việc biểu diễn chuẩn hóa rất khác với gốc ban đầu
và khó hiểu.
Phần thứ hai của loạt bài 2 phần này xem xét các xu hướng về các định dạng dữ liệu và các hồ sơ
kinh doanh trong thế kỷ 21. Phần này bắt đầu bằng một nghiên cứu chi tiết nêu bật những lợi ích
của các hồ sơ kinh doanh số hóa chưa chuẩn hóa, như hiệu năng tốt hơn và chi phí thấp hơn để
phát triển và bảo trì ứng dụng. Các cách biểu diễn dữ liệu đang nổi lên khác như JSON và RDF
cũng được bàn đến, với việc tập trung vào các ưu và khuyết điểm của chúng theo các kịch bản sử
dụng có liên quan.
Biểu diễn dữ liệu quan hệ và XML: Một sự so sánh
Ngày nay, nhiều hệ thống và ứng dụng tạo ra và biểu diễn các hồ sơ kinh doanh như là các tài
liệu XML. Ví dụ, mỗi đơn hàng, mỗi lần giao dịch tài chính, mỗi lần hoàn thuế, mỗi yêu cầu bồi
thường bảo hiểm và v.v , thường là một tài liệu XML riêng biệt. Lý do chính là ở chỗ XML là
mở rộng, linh hoạt, tự mô tả và thích hợp cho việc kết hợp thông tin có cấu trúc, không có cấu
trúc, nửa có cấu trúc. Các đặc tính này làm cho việc biểu diễn trở nên dễ dàng ngay cả với các hồ
sơ phức tạp, việc mở rộng biểu diễn dữ liệu khi cần và việc trao đổi các hồ sơ kinh doanh giữa
các ứng dụng (A2A) hoặc các tổ chức (B2B). Do đó, XML cũng đã trở thành định dạng dữ liệu
được chọn cho các dịch vụ web và SOA (các Kiến trúc hướng dịch vụ).
Đáp lại xu hướng này, các nhà cung cấp cơ sở dữ liệu lớn đã tăng thêm các khả năng XML vào
các sản phẩm của mình [1] [3] [5] và một vài cơ sở dữ liệu chỉ dùng XML đã nổi lên [6]. Các sản
phẩm này cho phép XML được lưu trữ, lập chỉ mục, truy vấn và cập nhật với nhiều đặc tính
giống như dữ liệu quan hệ, bao gồm cả các giao dịch ACID, khả năng phục hồi, khả năng mở
rộng, tính sẵn sàng cao và v.v Những tiến bộ này của công nghệ cơ sở dữ liệu làm cho có khả
Bảng 1. Bảng Customer (Khách hàng)
Mã khách hàng
Tên
Họ
Ngày sinh
Quốc tịch
12345 JohnDoe1965-09-27
Đức Bảng 2. Bảng Account (Tài khoản)
Mã khách hàng
Số tài kho
ản
Lo
ại tiền
Số dư
12345 985739476 Euro 120.000
12345 985710938 Euro 2786,23
12345 985808142 USD 523.891Bảng 3. Bảng Positions (Các vị trí)
tiền
Số dư tài
khoản
Ký hiệu
Cổ
phiếu
12345 JohnDoe
1965-09-
27
Đức 985739476 Euro 120.000 IBM 1.200
12345 JohnDoe
1965-09-
27
Đức 985739476 Euro 120.000 ORCL 2.500
12345 JohnDoe
1965-09-
27
Đức 985739476 Euro 120.000 VFINX 550
12345 JohnDoe
1965-09-
27
Đức 985710938 Euro 2786,23 SBTYA
12.000
12345 JohnDoe
Liệt kê 1. Biểu diễn XML của dữ liệu Customer, Account và Position
<Customer Cid="12345">
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<DateOfBirth>1965-09-27</DateOfBirth>
<Nationality>German</Nationality>
<Accounts>
<Account AccNo="985739476">
<Currency>Euro</Currency>
<Balance>120000</Balance>
<Positions>
<Stock Sym="IBM" Shares="1,200"/>
</Positions>
</Account>
<Account AccNo="985710938">
<Currency>Euro</Currency>
<Balance>2786.23</Balance>
<Positions> </Positions>
</Account>
<Account AccNo="985808142">
<Currency>USD</Currency>
<Balance>523891</Balance>
<Positions> </Positions>
</Account>
</Accounts>
</Customer>
Đối với công ty hậu cần, các lợi ích của giải pháp XML không chuẩn hóa còn nhiều hơn nữa
ngoài hiệu năng cao hơn và tiêu thụ CPU thấp hơn. Ví dụ, mỗi tài liệu XML có sẵn ngay lập tức
cho các ứng dụng khách sử dụng, trong khi các hàng quan hệ được lấy ra đã đòi hỏi xây dựng
một một hồ sơ kinh doanh - một chi phí bổ sung đã không có trong các phép đo ở Hình 2. Ngoài
ra, giải pháp XML có một lược đồ cơ sở dữ liệu đơn giản và dễ duy trì hơn khi định dạng hồ sơ
phát triển theo thời gian. Các hồ sơ kinh doanh có cách biểu diễn như nhau trong cơ sở dữ liệu và
trong các ứng dụng (XML), làm đơn giản hoá việc phát triển ứng dụng. Lợi ích này cũng đã
được báo cáo để xử lý các biểu mẫu dựa trên XML, ghi nhật ký sự kiện và xử lý đơn hàng [ 4].
Việc truy cập XML sử dụng ít CPU hơn so với truy cập tương đương vào các bảng quan hệ
chuẩn hóa đang biểu diễn cùng một hồ sơ kinh doanh. Nhiều dữ liệu hơn được truyền giữa cơ sở
dữ liệu và máy khách như là một kết quả của phép nối quan hệ để tái tạo lại hồ sơ kinh doanh
hơn việc truyền chính hồ sơ kinh doanh đó trong XML. Hơn nữa, XML dễ hiểu hơn vì nó gần
hơn, nếu không giống hệt, với hồ sơ kinh doanh trong thế giới thực. Một mô hình logic riêng biệt
cho dữ liệu không còn cần thiết nữa. Các ánh xạ giữa các hồ sơ kinh doanh trong thế giới thực và
những thứ được lưu trữ bên trong máy tính là không bắt buộc.
Web ngữ nghĩa và RDF (Khung công tác định nghĩa tài nguyên)
Xu hướng khác là sự nổi lên của Dữ liệu liên kết (Linked Data) và Web ngữ nghĩa (Semantic
Web) để nối dữ liệu liên quan. Cụ thể hơn, Dữ liệu liên kết đã được định nghĩa là "một cách thực
hành tốt nhất được khuyến cáo để trưng ra, chia sẻ và kết nối các mảnh dữ liệu, thông tin và kiến
thức trên Web ngữ nghĩa bằng cách sử dụng các URI và RDF" 61]. Với RDF, tài nguyên được
biểu diễn bằng các câu lệnh dưới dạng các biểu thức chủ thể - biến vị ngữ - đối tượng. Các biểu
thức này được gọi là bộ ba [ 8] và được hiển thị trong Liệt kê 2 và các Bảng 5, 6 và 7.
Liệt kê 2. XML
<DEPARTMENT deptid="15" deptname="Sales">
<EMPLOYEE>
<EMPNO>10</EMPNO>
<FIRSTNAME>CHRISTINE>/FIRSTNAME>
15 Bán hàng Bảng 7. Dữ liệu quan hệ chuẩn hóa (b)
Mã định danh bộ phậnSố nhân viên Tên Họ Điện thoại Tiền lương
15 27 MICHAEL JONES
408-461-1234
41250
15 10 CHRISTINE
SMITH
408-040-8051
52780
Chuẩn hóa dữ liệu thành bộ ba là một phần thiết yếu của Web ngữ nghĩa để xây dựng các kho
lưu trữ RDF mà các tích hợp mạnh mẽ có thể xuất phát từ đó. Bằng cách chia thông tin thành các
phần tử nhỏ nhất của nó (bộ ba), có thể biểu diễn dữ liệu thành các đồ thị có chủ thể và đối tượng
thành các nút và biến vị ngữ thành vòng cung liên kết. Phần mềm suy luận (các trình suy luận)
có thể phân tích các đồ thị và áp dụng các quy tắc để suy ra các câu lệnh mới. Ví dụ, do các bộ
phận có các nhân viên và nguồn nhân lực là một bộ phận, nên có thể suy ra một câu lệnh mới là
nguồn nhân lực có các nhân viên.
Các liên kết của dữ liệu liên kết thường chỉ kết nối thông tin mới nhất, như là trường hợp có các
khóa chính và khóa ngoài trong các bảng quan hệ. Ví dụ, việc kiểm tra một đơn đặt hàng, được
xây dựng bằng cách liên kết hoặc bằng cách chuyển hướng các khóa quan hệ, thường chọn địa
chỉ khách hàng hiện tại chứ không phải địa chỉ của khách hàng tại thời điểm đã đặt hàng. Trong
các hệ thống kinh doanh, với lý do kiểm tra và tuân thủ, điều cần thiết là thực hiện một bản chụp
thông tin kinh doanh thích hợp vào lúc một sự kiện quan trọng xảy ra, ví dụ như nhận được một
Bảng 8. JSON so với XML
JSON XML
{
"city": "Armonk",
"state": "NY",
"population": 4080
} <root type="object">
<city type="string">Armonk</city>
<state type="string">NY</state>
<population type="number">4080</population>
</root>
JSON rất thích hợp cho việc định dạng kết quả của một truy vấn đang chạy để làm cho việc xử lý
đơn giản hơn cho một khách hàng JavaScript. Do đó, JSON rất phổ biến cho các ứng dụng web.
Tuy nhiên, JSON không có các vùng tên, vì vậy ngay cả khi đã có sẵn các ràng buộc, thì không
thể chia sẻ, mở rộng hoặc trộn lẫn chúng với nhau một cách dễ dàng được. Việc hỗ trợ các đặc tả
cho JSON, như các ngôn ngữ chuyển đổi hay lược đồ, không có hoặc đã không đạt được một
mức độ hoàn thiện giống như việc hỗ trợ các đặc tả cho XML. Mặc dù JSON có một số lợi thế
giống như XML về chuẩn hóa dữ liệu, nó đã không đạt tới mức độ hoàn thiện của XML (cũng
chẳng đạt tới mức độ hoàn thiện của dữ liệu quan hệ và dữ liệu liên kết) như trong bảng 9.
Bảng 9. Comparison of relational data, XML, JSON, and XML
trigger
Các trigger quan hệ - - RIF (W3C)
Các nối
tiếp hóa
trao đổi
dữ liệu
Tiêu chuẩn SQL (ISO) định
nghĩa một sự nối tiếp hóa XML
những không được sử dụng
rộng rãi – Không có sự nối tiếp
hóa nào của JSON được chấp
thuận . Có các sự nối tiếp hóa
XML là m
ột cú pháp
được sử dụng rộng
rãi để trao đổi dữ
liệu (W3C)
JSON là một
định dạng nối
ti
ếp hóa, cũng có
các biểu diễn
XML của JSON
XML, Turtle
RDF
Các chú
thích
Không có phần của mô hình
quan hệ
Nhi
Khác nhau, bao g
ồm
m
ột số các API quan
hệ và các API cụ
thể, ví dụ XQJ
-
SPARQL Kho
lưu trữ đồ thị
Giao thức
HTTP – cho
CRUD (W3C)
Bộ sưu
tập
Bảng, Khung nhìn, cơ s
ở dữ liệu
(ISO)
Chức năng sưu tập
XML (W3C) (W3C)
-
Các đ
ồ thị RDF
(W3C)
Các ngôn
ngữ
chuyển
đổi và
khác
SQL (Các bảng đến các bảng)
Dù có những phát triển này, nhưng chuẩn hóa vẫn chưa lỗi thời. Chuẩn hóa vẫn còn có ích, ví dụ,
với các hệ thống xử lý giao dịch quan hệ truyền thống có hỗ trợ tốc độ cập nhật cao, hiếm khi
phải tái tạo lại các hồ sơ kinh doanh ban đầu và không thực hiện chèn các phiên bản hồ sơ mới
thay cho các cập nhật truyền thống, như trong Bảng 10.
Bảng 10. Sự thích hợp của lưu trữ chuẩn hóa so với lưu trữ không chuẩn hóa
Thích hợp để biểu diễn dữ liệu không chuẩn hóa, ví
dụ, XML
Thích hợp để biểu diễn dữ liệu
chuẩn hóa và nửa chuẩn hóa
1
Truy cập dữ liệu là "trung tâm-đối tượng": tất cả hoặc
hầu hết các mảnh của một hồ sơ kinh doanh được truy
cập cùng nhau
Truy cập dữ liệu theo hướng tập hoặc
theo hướng cột, ví dụ cho các phân
tích
2
Các hồ sơ kinh doanh còn nguyên vẹn được trao đổi qua
các dịch vụ web và SOA
Các hồ sơ kinh doanh gốc không cần
phải được tập hợp lại
3
Tạo phiên bản là bắt buộc: các cập nhật dữ liệu được
thay thế bằng cách chèn các phiên bản không thay đổi
Chỉ có trạng thái mới nhất của mỗi hồ
sơ doanh nghiệp cần được giữ lại
4Sự tiến triển của lược đồ cần được hỗ trợ
Lược đồ hoàn thiện, ổn định v
DB2", Hội nghị quốc tế lần thứ 31 về các Cơ sở dữ liệu rất lớn, VLDB 2005.
4. Nicola, M.: "Các bài học thu được từ các ứng dụng DB2 pureXML: Một góc nhìn của học
viên thực hành", Hội nghị chuyên đề về cơ sở dữ liệu XML quốc tế lần thứ 7, XSYM 2010.
5. Rys, M.: "Các hệ thống quản lý cơ sở dữ liệu quan hệ và XML: Bên trong Máy chủ SQL của
Microsoft", SIGMOD 2005.
6. Holstege, M.: "Xquery, To lớn, Nhanh: Cho phép các ứng dụng nội dung", Tập san Kỹ thuật
dữ liệu IEEE, tập 31 Số 4, 2008.
7. Carey, M. J. et al.: "EXRT: Hướng tới một điểm chuẩn đơn giản để kiểm tra tính sẵn sàng
XML", Hội nghị của Hội đồng xử lý giao dịch lần thứ 2, TPCTC 2010.
8. Tham khảo RDF - Sách vỡ lòng về RDF.
9. Cách Best Buy đang sử dụng Semantic Web.
10. Giới thiệu JSON.