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

Một nghiên cứu về lưu giữ hồ sơ trong các hệ thống máy tính

Các cơ sở dữ liệu quan hệ đã là nền tảng cho các hệ thống kinh doanh trong hơn 25 năm. Chuẩn hóa dữ liệu là một phương pháp luận để giảm thiểu việc sao chép dữ liệu để bảo vệ các cơ sở dữ liệu trước các vấn đề về cấu trúc và lô-gic, như là các dị thường dữ liệu. Chuẩn hóa cơ sở dữ liệu quan hệ tiếp tục được giảng dạy trong các trường đại học và được thực hành rộng rãi. Việc chuẩn hóa được đưa ra vào những năm 1970 khi các giả định về các hệ thống máy tính khác với những gì chúng đang có hiện nay.

Phần đầu tiên của loạt bài 2 phần này cung cấp một đánh giá lịch sử về lưu giữ hồ sơ và đã xem xét các vấn đề liên quan đến chuẩn hóa dữ liệu, như là khó khăn trong việc lập bản đồ phát triển các hồ sơ kinh doanh theo một một định dạng chuẩn hóa. Do Internet đã dẫn đến việc tạo các hồ sơ kinh doanh phổ biến theo định dạng số, ví dụ như XML, nên đã có khả năng lưu trữ các hồ sơ trong hệ thống máy tính theo định dạng ban đầu của chúng.

Phần thứ hai của loạt bài này thảo luận về các cách biểu diễn dữ liệu thay thế như XML, JSON và RDF để khắc phục các vấn đề chuẩn hóa hoặc để giới thiệu tính linh hoạt của lược đồ. Trong thế kỷ 21 các hồ sơ kinh doanh số hóa thường được tạo ra theo XML trước tiên. Bài này so sánh XML với các cấu trúc quan hệ chuẩn hóa và giải thích khi nào và tại sao XML cho phép truy cập dữ liệu dễ dàng hơn và nhanh hơn. Sau một cuộc thảo luận về JSON và RDF, bài này kết thúc bằng một bản tóm tắt và các đề nghị về xem xét lại chuẩn hóa.

Susan Malaika, Chuyên viên kỹ thuật cao cấp, IBM Japan

Susan MalaikaSusan Malaika là chuyên viên cao cấp trong IBM Information Management Group (một phần của nhóm phần mềm IBM). Bà tập trung nghiên cứu về XML, Web và cơ sở dữ liệu, là các chuẩn phát triển hỗ trợ dữ liệu cho các môi trường điều khiển tại diễn đần Global Grid. Thêm vào đó bà cũng làm việc như là người phát triển phần mềm của IBM, trước đó bà làm việc trong lĩnh việc phân tích dữ liệu, phát triển và thiết kế ứng dụng Internet. Bà cũng là đồng tác giả sách trên Web và xuất bản các bài báo về xử lý tương tác và XML. Bà là một thành viên của Học viện công nghệ IBM



Matthias Nicola, Chuyên gia về hiệu năng CSDL, IBM Silicon Valley Laboratory

Matthias Nicola người lãnh đạo kỹ thuật về hiệu năng cơ sở dữ liệu XML tại Silicon Valley Lab của IBM. Công việc của ông tập trung vào tất cả các lĩnh vực về hiệu năng XML trong DB2, bao gồm XQuery, SQL/XML và tất cả các tính năng XML nguyên sơ trong DB2. Matthias Nicola cộng tác chặt chẽ với các đội phát triển XML DB2 cũng như với các khách hàng và các đối tác kinh doanh, là những người đang sử dụng XML, hỗ trợ họ trong việc thiết kế, triển khai thực hiện và tối ưu hóa các giải pháp XML. Trước khi gia nhập IBM, Matthias làm việc với hiệu năng kho dữ liệu cho Informix Software. Ông cũng đã có bốn năm làm việc trong các dự án nghiên cứu và các dự án công nghiệp trên cơ sở dữ liệu phân tán và nhân bản. Ông nhận bằng tiến sĩ khoa học máy tính vào năm 1999 ở Đại học Kỹ thuật Aachen, Đức.



08 03 2012

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ả năng lưu trữ và quản lý các hồ sơ kinh doanh theo định dạng ban đầu của chúng – XML. Phần này so sánh XML với dữ liệu quan hệ về chuẩn hóa hay không chuẩn hóa, dự phòng và hiệu năng.

Một ví dụ

Do XML là một định dạng dữ liệu phân cấp, nên một tài liệu XML duy nhất có thể biểu diễn một số tùy ý các mối quan hệ một-nhiều – mà không cần chuẩn hóa các mối quan hệ này trong một tập các đối tượng tách rời nhau.

Hãy xem xét một hồ sơ kinh doanh mô tả một khách hàng và mỗi khách hàng có thể có nhiều địa chỉ, nhiều số điện thoại, nhiều địa chỉ email, nhiều tên đệm và nhiều tài khoản đầu tư. Hơn nữa, mỗi tài khoản của khách hàng có thể có nhiều vị trí (các cổ phần), mỗi địa chỉ có thể có nhiều mục "đường phố" và v.v.. Trong một lược đồ quan hệ chuẩn hóa, mỗi một trong các mối quan hệ một-nhiều này yêu cầu một bảng bổ sung, như trong Hình 1. Kết quả là, việc lưu trữ hồ sơ kinh doanh đơn lẻ đòi hỏi phải có nhiều câu lệnh INSERT của SQL trong một số bảng, trong ví dụ này lên đến 12 lệnh INSERT trong 12 bảng.

Hình 1. Ví dụ về một lược đồ quan hệ chuẩn hóa
Sơ đồ này hiển thị một hồ sơ khách hàng đã chuẩn hóa a normalized customer record

Tương tự, khi một ứng dụng lấy ra một hồ sơ khách hàng đơn lẻ, nó cần ban hành các câu lệnh SELECT cho tất cả 12 bảng. Đây là một quá trình không hiệu quả bởi vì nó đòi hỏi 12 hoặc nhiều cuộc gọi API riêng biệt hơn tới cơ sở dữ liệu. Mỗi cuộc gọi đều phải gánh chịu lưu lượng mạng, truy cập vào một bảng cơ sở dữ liệu và thiết bị Vào/Ra (I/O) vật lý có khả năng cho bảng và các chỉ mục của nó. Lưu ý rằng một truy vấn đơn nối tất cả 12 bảng, thường tồi tệ hơn nhiều. Ví dụ, nếu một khách hàng có 3 tài khoản với tổng số là 7 vị trí (như trong bảng 1 đến 3), một kết nối qua toàn bộ ba bảng này sẽ trả về 7 hàng, như trong Bảng 4. Trong tập kết quả này, các giá trị được chọn từ bảng khách hàng được lặp lại 7 lần và các giá trị cho mỗi tài khoản được lặp lại cho từng vị trí của chúng. Sự dư thừa này nhanh chóng làm tăng kích thước của tập kết quả đến mức độ trễ truyền thông giữa máy khách-máy chủ làm giảm hiệu năng. Khi thêm nhiều bảng hơn nữa vào kết nối, tập kết quả phát triển một cách nhanh chóng và làm tăng thêm các vấn đề.

Bảng 1 đến 3 cho thấy lược đồ quan hệ chuẩn hóa cho dữ liệu khách hàng, tài khoản và vị trí.

Mã khách hàngTênHọNgày sinhQuốc tịch
12345JohnDoe1965-09-27Đức
Mã khách hàngSố tài khoảnLoại tiền Số dư
12345985739476Euro120.000
12345985710938Euro2786,23
12345985808142USD523.891
Số tài khoảnKý hiệu Cổ phiếu
985739476IBM1.200
985739476ORCL2.500
985739476VFINX550
985710938SBTYA12.000
985710938VIVAX75
985808142DWCT1.128
985808142PMCOA8.461
Mã khách hàngTênHọNgày sinhQuốc tịchSố tài khoảnLoại tiềnSố dư tài khoảnKý hiệuCổ phiếu
12345JohnDoe1965-09-27Đức985739476Euro120.000IBM1.200
12345JohnDoe1965-09-27Đức985739476Euro120.000ORCL2.500
12345JohnDoe1965-09-27Đức985739476Euro120.000VFINX550
12345JohnDoe1965-09-27Đức985710938Euro2786,23SBTYA12.000
12345JohnDoe1965-09-27Đức985710938Euro2786,23VIVAX75
12345JohnDoe1965-09-27Đức985808142USD523.891DWCT1.128
12345JohnDoe1965-09-27Đức985808142USD523.891PMCOA8.461

Bảng 4 cũng minh họa sự không chuẩn hóa của một lược đồ cơ sở dữ liệu có thể đưa vào dữ liệu dư thừa như thế nào. Để so sánh, liệt kê 1 cho thấy một cách biểu diễn XML có thể của hồ sơ kinh doanh lô-gic tương tự. Trong khi lược đồ quan hệ chuẩn hóa phân tán thông tin khách hàng trên nhiều trên bảng, thì cấu trúc cây của XML có thể biểu diễn các mối quan hệ một-nhiều giống nhau trong một tài liệu duy nhất. Đồng thời tài liệu đó không chứa bất kỳ sự dư thừa nào, vì một nút cha mẹ (như "Customer ") không được lặp lại cho mỗi nút con của nó (ví dụ như "Account "). Như vậy, XML có thể biểu diễn một hồ sơ kinh doanh trong một tài liệu không chuẩn hóa duy nhất mà không bị dư thừa. Kết quả là, các hồ sơ kinh doanh có thể được chèn vào hoặc lấy ra bằng một câu lệnh SQL duy nhất, làm giảm số lượng các cuộc gọi API cơ sở dữ liệu, tính phức tạp của ứng dụng, chi phí CPU và lưu lượng mạng. Những lợi thế này đã được theo dõi và đo lường trong nhiều hệ thống cơ sở dữ liệu thương mại, khi chúng ta thảo luận trong phần tiếp theo.

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>

So sánh hiệu năng quan hệ và XML trong một hệ thống OLTP

Các lợi ích của việc chèn vào và lấy ra một hồ sơ kinh doanh như là một tài liệu XML không chuẩn hóa đơn lẻ (chứ không phải là các hàng quan hệ chuẩn hóa) đang làm tăng sự chú ý giữa các học viên thực hành cơ sở dữ liệu. Một công ty hậu cần lớn trên toàn thế giới đã đưa ra gợi ý về giá trị này để thử nghiệm. Một trong những hệ thống OLTP của họ biểu diễn các số hồ sơ kinh doanh cụ thể trong một lược đồ quan hệ chuẩn hóa có chứa 12 bảng. Để lấy ra một hồ sơ kinh doanh, ứng dụng của họ cần ban hành 15 câu lệnh SQL. Hầu hết các hồ sơ kinh doanh được biểu diễn bằng 15 hàng, nhưng một vài hồ sơ có hàng trăm hàng. Để so sánh, họ đã chọn 250.000 hồ sơ kinh doanh và chuyển đổi chúng sang định dạng XML, một tài liệu cho một hồ sơ kinh doanh. Hầu hết các tài liệu có dung lượng 1KB đến 2KB, nhưng một số lên đến 500KB.

Kịch bản thử nghiệm đã sử dụng gói sửa lỗi 4 của DB2 9.5 với Linux RHEL 4.6 trên một máy chủ AMD Opteron 8 lõi với 32GB bộ nhớ. Có đến bảy máy tính khách được sử dụng để mô phỏng số lượng ngày càng tăng của người sử dụng đồng thời truy cập vào cơ sở dữ liệu. Mỗi máy khách là một máy tính IBM xSeries 345 (2 lõi). Mỗi bảng trong số 12 bảng quan hệ đã có các chỉ mục thích hợp. Để so sánh, các tài liệu XML được lưu trữ trong một bảng duy nhất, trong một cột XML duy nhất, với một chỉ mục XML duy nhất dựa vào thuộc tính ID (mã định danh) của hồ sơ. Trong thử nghiệm quan hệ, mỗi người sử dụng đồng thời được mô phỏng đã chọn các ID hồ sơ ngẫu nhiên và với mỗi ID đã ban hành một giao dịch với 15 truy vấn SQL để lấy ra tất cả thông tin cho hồ sơ kinh doanh đó. Không tính đến thời gian đã được dùng. Trong thử nghiệm XML, mỗi người dùng đồng thời đã chọn các ID hồ sơ ngẫu nhiên và đã ban hành một truy vấn SQL/XML duy nhất với một biểu thức XPath trong một biến vị ngữ XMLEXISTS để lấy ra một tài liệu XML.

Các kết quả được hiển thị trong Hình 2. Trung bình thì các giải pháp XML đã đạt được lưu lượng cao hơn 55% so với lược đồ quan hệ chuẩn hóa. Trong thử nghiệm quan hệ, đã dùng hết công suất xử lý CPU của hệ thống đang thử nghiệm cho 84 người dùng đồng thời khi thực hiện khoảng 3.800 giao dịch mỗi giây. Với các giải pháp XML, hệ thống như vậy đã hỗ trợ lên đến 150 người sử dụng đồng thời và gần 6000 giao dịch mỗi giây. Đồng thời, giải pháp XML đã cho thấy việc sử dụng CPU trên các máy tính khách thấp hơn đáng kể so với giải pháp quan hệ.

Hình 2. Hiệu năng lấy ra: XML không chuẩn hóa so với dữ liệu quan hệ chuẩn hóa
Hình này hiển thị một biểu đồ cho thấy hiệu năng cao hơn với ccột XML

Đố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>
     <LASTNAME>SMITH</LASTNAME>
     <PHONE>408-463-4963</PHONE>
     <SALARY>52750.00</SALARY>
   </EMPLOYEE>
   <EMPLOYEE>
   <EMPNO>27</EMPNO>
   <FIRSTNAME>MICHAEL>/FIRSTNAME>
   <LASTNAME>THOMPSON</LASTNAME>
   <PHONE>408-463-1234</PHONE>
   <SALARY>41250.00</SALARY>
   </EMPLOYEE>
</DEPARTMENT>
Chủ thểBiến vị ngữĐối tượng
deptidhasdepname
deptidhasdep15
Salesisadeptname
Saleshasdepid15
emphasdeptid
emphasempno27
emphasempno10
27isanempnofordepid15
10isanempnofordepid15
Mã định danh bộ phậnTên bộ phận
15Bán hàng
Mã định danh bộ phậnSố nhân viênTênHọĐiện thoạiTiền lương
1527MICHAELJONES408-461-123441250
1510CHRISTINESMITH408-040-805152780

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 đơn đặt hàng hoặc phát hành một tuyên bố của ngân hàng. Mục đích của ảnh chụp không phải dựa trên việc chuyển hướng vào một ngày sau đó để xây dựng lại hồ sơ kinh doanh khi việc kiểm tra hoặc truy vấn diễn ra. Đôi khi ảnh chụp được ký để cung cấp bằng chứng rằng hồ sơ kinh doanh đó đã không bị làm giả kể từ khi tạo ra nó.

RDF, như một hình thức cực đoan của chuẩn hóa, tương tự như dữ liệu quan hệ chuẩn hóa về độ khó của nó để xử lý tạo phiên bản và quản lý lịch sử và kiểm toán. RDF khác với dữ liệu quan hệ chuẩn hóa ở chỗ nó không bị ràng buộc với một lược đồ cố định. Khi một tài nguyên có các đặc tính mới, các câu lệnh bổ sung (bộ ba) được thêm vào để biểu diễn dễ dàng các đặc tính. Tuy nhiên, bộ ba đó có thể khó truy vấn hơn so với các lược đồ quan hệ truyền thống.

Các cơ chế của Dữ liệu liên kết và Web ngữ nghĩa rất mạnh và có thể tích hợp các hệ thống dường như không liên quan. Các ví dụ bao gồm việc tích hợp khách sạn và các việc đặt chỗ trước trên máy bay, xử lý đơn đặt hàng hoặc gia hạn bảo hiểm với thông tin mạng xã hội. Sự gia tăng các hồ sơ kinh doanh (theo XML) với các chú thích ngữ nghĩa (bộ ba) đưa ra một cách pha trộn các hồ sơ kinh doanh truyền thống với các cấu trúc Dữ liệu liên kết và Web ngữ nghĩa. Một ví dụ thế giới thực là trang Best Buy của các nhà bán lẻ Mỹ, chú giải các trang XHTML của nó để mô tả các sản phẩm, với RDFa (các chú thích RDF) trang đó có thể được xử lý bằng lập trình nhiều hơn, ví dụ bằng các máy tìm kiếm và các trình phân loại [‎‎9].

Để pha trộn các chú thích ngữ nghĩa với cơ sở dữ liệu quan hệ còn khó khăn hơn vì không có cơ chế tại chỗ để gia tăng dữ liệu quan hệ mà không thay đổi lược đồ cơ sở dữ liệu quan hệ, trái ngược với các hồ sơ kinh doanh được thể hiện bằng XML ở đó các chú thích được áp dụng đơn giản hơn.

JSON

JSON (JavaScript Object Notation - Ký hiệu đối tượng JavaScript) được dựa trên một tập con của ngôn ngữ lập trình JavaScript và đã trở nên phổ biến để trình bày thông tin cho các khách hàng JavaScript [‎‎‎10]. Thực tế, nhiều API REST và API Web, cung cấp các biến thể của cả XML lẫn JSON. JSON có thể được xem như một định dạng trao đổi dữ liệu trọng lượng nhẹ thích hợp để xây dựng các giao diện người dùng của con người với JavaScript. Nó giúp cho con người dễ đọc và viết và dễ phân tích cú pháp và suy luận ra. Bảng 8 cho thấy một mẫu dữ liệu và so sánh JSON với ký hiệu XML.

JSONXML
 {
    "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.

Quan hệXMLJSONDữ liệu liên kết
Siêu dữ liệu Data Definition Language - Ngôn ngữ định nghĩa dữ liệu (ISO)Lược đồ XML (W3C),
Các vùng tên (W3C)
Lược đồ JSON (IETF)RDFS (Lược đồ RDF),
Bản thể học (W3C và nơi khác)
Các ràng buộc Các ràng buộc tính toàn vẹn trong các định nghĩa bảng (ISO)Schematron (ISO),
Relax-NG (OASIS)
-
Các triggerCá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 RDFXML 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 JSONXML, Turtle
Các chú thích Không có phần của mô hình quan hệ Nhiều loại chú thích được định cho các nghĩa lược đồ XML và cho dữ liệu XML -RDFa (W3C) có thể được sử dụng để chú thích XML
Các ngôn ngữ truy vấn & CRUD Data Manipulation Language (DML - Ngôn ngữ xử lý dữ liệu), SQL, SQL/XML (ISO)XPath, XQuery (W3C) và những thứ khác cho CRUDJAQL, JSONiqSPARQL (W3C)
Các API CRUD & truy vấn Có nhiều cho các ngôn ngữ lập trình khác nhau ví dụ như JDBC, ODBCKhá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ácSQL (Các bảng đến các bảng)XSLT (XML sang văn bản, bao gồm XML); XForms
SQL XMLTABLE (XML sang quan hệ)
JavaScript-

Tóm tắt

Chuẩn hóa dữ liệu, một quá trình bắt đầu ngay từ đầu trong hầu hết các dự án thương mại, hầu như luôn cản trở việc lưu trữ các hồ sơ kinh doanh dưới dạng ban đầu của chúng, như XML. Hơn nữa, người ta thường cho rằng làm việc với các hồ sơ kinh doanh XML không hiệu quả. Sự so sánh hiệu năng trong bài này đã cho thấy rằng điều này không nhất thiết phải như vậy. Trong thực tế, các chi phí phục hồi và xây dựng lại các hồ sơ kinh doanh từ các bảng chuẩn hóa thường cao hơn chi phí lưu trữ nguyên bản và lấy ra các tài liệu XML không chuẩn hóa. Do đó, ở nơi sử dụng XML để biểu diễn các hồ sơ kinh doanh, cũng nên xem xét XML như là định dạng lưu trữ thích hợp. Việc truy cập dữ liệu là trung tâm-đối tượng thường thực hiện với XML tốt hơn so với các bảng quan hệ chuẩn hóa và cho phép tốc độ giao dịch XML cao [2]. Ngoài ra, XML cho phép các ứng dụng được tạo nguyên mẫu, được phát triển và được tiến hóa với tính linh hoạt khi không cần thiết kế và duy trì các ánh xạ giữa các bảng quan hệ và XML.

Các hệ thống lưu trữ mới nổi như Google BigTable và HBase cũng rời khỏi chuẩn hóa. Chúng ủng hộ việc không chuẩn hóa mạnh mẽ và lưu trữ dữ liệu theo cách nó được truy cập. Các cơ sở dữ liệu XML đưa ra khuyến cáo tương tự để lưu trữ tốt nhất các hồ sơ kinh doanh với độ chi tiết phù hợp với các mô hình truy cập điển hình [‎4].

Dữ liệu liên kết, Web ngữ nghĩa và JSON đang nảy sinh ra các cách biểu diễn dữ liệu nhưng vẫn chưa phổ biến trong các hệ thống kinh doanh để trao đổi dữ liệu giữa các hệ thống. 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 các kho lưu trữ RDF, từ đó có thể nhận được các sự kiện mới thông qua suy luận. Sự gia tăng các hồ sơ kinh doanh được biểu diễn bằng XML, với các chú thích ngữ nghĩa như RDFa, cung cấp một cách pha trộn các hồ sơ kinh doanh truyền thống với Dữ liệu liên kết và Web ngữ nghĩa.

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.

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
1Truy 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 nhauTruy 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
2Cá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
3Tạ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à không chắc tiến triển
5Việc kiểm toán và sự tuân thủ của hồ sơ kinh doanh là quan trọng Các yêu cầu kiểm toán/tuân thủ là ngắn hạn, yếu, hay thiếu

Thành công to lớn của các hệ thống cơ sở dữ liệu quan hệ, chuẩn hóa dữ liệu và sau đó biểu diễn của các hồ sơ kinh doanh bằng XML, tất cả đã xảy ra với các lý do thuyết phục vào lúc đó. Trong thế kỷ 21, điều luôn có nghĩa là lưu trữ và xử lý các hồ sơ kinh doanh "như nó vốn có". Để so sánh với thế giới thực: con người thu nhận, xử lý và lưu trữ những thứ thực, như quần áo trong tủ quần áo và các xe hơi trong nhà để xe. Những thứ đó được lưu trữ theo dạng thích hợp nhất với các kiểu truy cập nổi bật, đó là, các xe hơi và các bộ quần áo được lưu trữ mà không cần tháo dỡ chúng thành từng mảnh, như trong Hình 3.

Hình 3. Lưu trữ nguyên vẹn so với lưu trữ "chuẩn hóa" của một chiếc xe hơi
Ảnh này hiển thị một chiếc xe hơi ở bên trái và các bộ phận tháo rời của xe ở bên phải.

Kết luận

Loạt bài hai phần này đã xác định chuẩn hóa dữ liệu như một rào cản chủ yếu đối với việc lưu trữ các hồ sơ kinh doanh nguyên vẹn và cung cấp các giải pháp quản lý dữ liệu linh hoạt. Cơ sở dữ liệu XML hiệu quả đều có sẵn [‎7], nhưng thường bị bỏ qua do bước đầu tiên trong việc thiết kế hệ thống kết hợp chuẩn hóa, loại bỏ tất cả dấu vết của các hồ sơ kinh doanh ban đầu. Chuẩn hóa dữ liệu cần được xem xét lại một cách cẩn thận.


Tài liệu tham khảo

1. Murthy, R. et al.: "Hướng tới một kiến trúc XML doanh nghiệp", SIGMOD 2005.

2. Nicola, M., Gonzalez, A.: "Phân đoạn một Terabyte trong dữ liệu XML", Tạp chí quản lý dữ liệu của IBM, tập 14, Số 1, 2009.

3. Nicola, M., van-der-Linden, B.: "Hỗ trợ nguyên gốc XML trong cơ sở dữ liệu phổ quát của 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.

Tài nguyên

Học tập

Lấy sản phẩm và công nghệ

  • Đánh giá các sản phẩm IBM theo cách phù hợp với bạn nhất: Tải về một bản dùng thử sản phẩm, hãy thử một sản phẩm trực tuyến, sử dụng một sản phẩm trong một môi trường đám mây hoặc dành một vài giờ trong SOA Sandbox để học cách thực hiện Kiến trúc hướng dịch vụ (Service Oriented Architecture) một cách hiệu quả.
  • Tải về một phiên bản dùng thử miễn phí DB2 cho Linux, UNIX và Windows của IBM.
  • Bây giờ bạn có thể sử dụng DB2 miễn phí. Tải về DB2 Express-C, một phiên bản miễn phí của Ấn bản DB2 Express (DB2 Express Edition) cho cộng đồng cung cấp các tính năng dữ liệu cốt lõi giống như DB2 Express Edition và cung cấp một cơ sở vững chắc để xây dựng và triển khai các ứng dụng.
  • Xây dựng dự án phát triển tiếp theo của bạn với phần mềm dùng thử của IBM, có sẵn để tải về trực tiếp từ developerWorks hoặc dành một vài giờ trong SOA Sandbox để học tập cách thực hiện Service Oriented Architecture một cách hiệu quả.

Thảo luận

  • Hãy tham gia vào cộng đồng My developerWorks. Kết nối với những người sử dụng developerWorks khác trong khi khám phá các blog, các diễn đàn, các nhóm và các wiki theo hướng phát triển.

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=Information Management
ArticleID=801166
ArticleTitle=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
publish-date=03082012