Các mẫu dịch vụ thông tin, Phần 3: Mẫu làm sạch dữ liệu

Mẫu làm sạch dữ liệu quy định các quy tắc để chuẩn hóa, so khớp và tiếp tục tồn tại của dữ liệu để tăng cường tính nhất quán và chất lượng trên dữ liệu được áp dụng mẫu đó. Mẫu làm sạch dữ liệu xác nhận hợp lệ dữ liệu (cho dù là dữ liệu lưu giữ lâu dài hay tạm thời) dựa vào các quy tắc làm sạch và sau đó áp dụng các thay đổi để tăng cường tính nhất quán và chất lượng. Trong bài này, bạn tìm hiểu cách áp dụng mẫu làm sạch dữ liệu trong một bối cảnh SOA (Kiến trúc hướng dịch vụ). Đặc tả của mẫu này sẽ giúp bạn, như một kiến trúc ứng dụng và dữ liệu, đưa ra quyết định kiến trúc khi có đủ thông tin và cải thiện các hướng dẫn ra quyết định.

Dr. Guenter Sauter, Kiến trúc sư và giám đốc CNTT cao cấp, IBM

Ảnh của Guenter SauterTiến sĩ Guenter Sauter là kiến trúc sư và giám đốc CNTT cao cấp, ông lãnh đạo nhóm làm việc về các mẫu dịch vụ thông tin để giải quyết sự liên kết giữa việc quản lý thông tin và SOA. Ông cũng là kiến trúc sư trình diễn về quản lý thông tin, trình bày các khả năng trên toàn bộ danh mục Quản lý thông tin của IBM.



Bill Mathews, Kỹ sư phần mềm, IBM

Ảnh của Bill MathewsBill Mathews là một kiến trúc sư CNTT cao cấp tại IBM Financial Services Sector (Lĩnh vực dịch vụ tài chính của IBM) ở châu Mỹ và giữ vai trò lãnh đạo kiến trúc về Tích hợp thông tin. Ông đã có hơn 25 năm kinh nghiệm trong ngành CNTT và là một Kiến trúc sư CNTT có chứng chỉ xuất sắc của tập đoàn Open và có các chứng chỉ Nhà tư vấn và Kiến trúc sư CNTT của IBM. Ông hoạt động trong các lĩnh vực chuyên môn sau: tích hợp thông tin, tích hợp ứng dụng doanh nghiệp và phát triển ứng dụng Web. Bill có bằng Cử nhân khoa học về Khoa học Máy tính của trường Đại học Hofstra và bằng thạc sĩ về quản trị kinh doanh của trường Union College.



Ernest Ostic, Chuyên gia CNTT, IBM

Ảnh của Ernest OsticErnest Ostic là chuyên gia sản phẩm tại IBM. Ông nghiên cứu sâu vào các giải pháp về tích hợp dữ liệu thời gian thực. Trước đây ông từng làm ở Ascential Software và sau đó đã làm ở IBM suốt 9 năm qua trong các vai trò khác nhau về quản lý sản phẩm và bán hàng. Ông hiện đang tham gia các chiến lược liên quan đến SOA với dòng sản phẩm Information Server (Máy chủ thông tin). Ông tốt nghiệp trường Đại học Boston.



08 05 2013

Giới thiệu

Thông tin là một trong những tài sản chiến lược nhất của bất kỳ tổ chức nào. Chất lượng dữ liệu là một điều kiện tiên quyết quan trọng về sử dụng thông tin để đạt được những lợi thế thấy rõ trên thị trường. Dữ liệu tồi chỉ biến thông tin có giá trị tiềm năng cao thành các luồng byte vô dụng. Ví dụ, thông tin địa chỉ không chính xác về một "bên tham gia" (chẳng hạn như một người dùng dịch vụ, bệnh nhân hoặc khách hàng) sẽ hạn chế tầm hiểu biết chiến lược để có thể hiểu rõ về thông tin. Loại dữ liệu này có thể bao gồm thông tin để cho biết rằng liệu hai bên tham gia có giống nhau hay không, con số tổng của những người dùng dịch vụ và có cái nhìn đầy đủ về khách hàng. Dữ liệu tùy tiện có thể làm giảm sự hài lòng của khách hàng, làm cho việc trao đổi thông tin khó khăn và làm tăng các chi phí khi cố tìm cách né tránh vấn đề, cũng như tạo ra những thách thức khác.

Các tầng trong một kiến trúc phần mềm

Một kiến trúc phần mềm có bốn tầng:

  • Tầng Cơ sở dữ liệu -- Nằm ở "dưới cùng", nó chịu trách nhiệm duy trì dữ liệu và cung cấp các hoạt động tạo, đọc, cập nhật và xóa dữ liệu.
  • Tầng Ứng dụng -- Nằm trên tầng cơ sở dữ liệu, nó cung cấp logic nghiệp vụ.
  • Tầng Tiến trình -- Nó sắp xếp thứ tự logic nghiệp vụ thông qua việc quản lý luồng công việc.
  • Tầng Trình bày -- Nằm trên cùng, nó đưa ra hiển thị trực quan của tất cả các tầng bên dưới cho người dùng cuối.

Các vấn đề về chất lượng dữ liệu là nghiêm trọng nhất khi thông tin nằm rải rác trên các kho lưu trữ dữ liệu bị cô lập và không đồng nhất. Bản chất không đồng nhất và cô lập của môi trường như vậy thường đi cùng với một kiến trúc có các định dạng khác nhau và các giá trị không nhất quán. Ngay cả trong một cơ sở dữ liệu đơn lẻ, chất lượng dữ liệu đã lưu giữ lâu dài không nhất thiết là tốt hơn nếu không thực thi các quy tắc thích hợp. Cho dù thông tin vẫn còn trong một kho lưu trữ dữ liệu hoặc được một ứng dụng đang hoạt động xử lý, chất lượng dữ liệu thường hoặc không được thực thi chút nào hoặc bị kiểm soát bởi các thành phần khác nhau, sử dụng những quy tắc không nhất quán, nhúng trong một mã ứng dụng nào đó.

Để chuyển thông tin thành sự hiểu biết và sử dụng được giá trị quan trọng của nó, chất lượng dữ liệu cần được giải quyết bằng cách áp dụng phương pháp làm sạch dữ liệu theo cách nhất quán; có nghĩa là, sử dụng các quy tắc làm sạch nhất quán trong toàn doanh nghiệp, không chỉ trong tầng cơ sở dữ liệu mà còn trong các tầng ứng dụng và tiến trình.

Sau khi mô tả tóm tắt giá trị của cách tiếp cận này, bạn sẽ tìm hiểu bối cảnh trong đó nên áp dụng mẫu làm sạch dữ liệu nào. Tiếp theo, bạn tìm hiểu về cách tiếp cận theo vấn đề và giải pháp cho mẫu này. Cuối cùng, bạn sẽ có cái nhìn sơ tổng quan về các vùng trọng tâm và các vùng nhiều rủi ro, cũng như những hạn chế của mẫu này.


Đề xuất giá trị của mẫu làm sạch dữ liệu

Mẫu này có thể cung cấp ba giá trị chính là:

  • Ưu điểm của tính nhất quán và chất lượng.
  • Giảm chi phí phát triển và bảo trì.
  • Ưu điểm về khả năng tái sử dụng.

Chúng ta hãy xem xét kỹ hơn từng giá trị một.

Ưu điểm của tính nhất quán và chất lượng

Lợi ích quan trọng nhất khi áp dụng mẫu làm sạch dữ liệu là nó có thể cải thiện tính nhất quán và chất lượng thông tin, cho dù mẫu đó được duy trì trong cơ sở dữ liệu hay được một ứng dụng xử lý. Mẫu này cải thiện chất lượng của dữ liệu và bảo đảm rằng nó có chất lượng cao.

Việc áp dụng mẫu làm sạch dữ liệu trong một bối cảnh SOA cung cấp các quy trình nghiệp vụ có khả năng quản lý và bảo đảm chất lượng dữ liệu "ngay tại thời điểm thu thập ban đầu của nó". Việc áp dụng làm sạch dữ liệu trước khi thông tin được lưu giữ lâu dài cho phép đưa vào các cơ chế xác nhận hợp lệ đã quy định về nghiệp vụ tại điểm nhập dữ liệu, chẳng hạn như trong các cổng thông tin nhập dữ liệu.

Giảm chi phí phát triển và bảo trì

Mẫu này cung cấp các hướng dẫn thực hành được gợi ý về cách định rõ các quy tắc làm sạch và cách áp dụng có hiệu quả nhất các hướng dẫn đó cho dữ liệu lưu giữ lâu dài và dữ liệu tạm thời. Nhiều bản thực hiện mẫu làm sạch dữ liệu cung cấp các công cụ tinh vi để phát triển, thử nghiệm và triển khai các quy tắc làm sạch. Các công cụ này có thể giúp làm giảm chi phí hoạt động trong nhiều dự án trong đó các quy tắc làm sạch được xác định bằng thủ công và phải duy trì một cách rất vất vả.

Ưu điểm về khả năng tái sử dụng

Một khía cạnh quan trọng của mẫu làm sạch dữ liệu là nó tập trung vào khả năng tái sử dụng ở mức doanh nghiệp. Nếu mỗi cơ sở dữ liệu và ứng dụng thực hiện quy trình làm sạch riêng của mình, thì điều này có thể dẫn đến các quy tắc làm sạch không nhất quán, trong đó mức chất lượng dữ liệu tăng thêm, nhưng không theo một cách nhất quán và có hiệu quả và chưa đạt đến mức cần thiết. Mẫu này mô tả làm thế nào có thể áp dụng một cách nhất quán các quy tắc làm sạch như nhau cho rất nhiều người tiêu dùng.


Bối cảnh

Bối cảnh truyền thống của mẫu làm sạch dữ liệu là tầng cơ sở dữ liệu, đó là nơi áp dụng mẫu này thường xuyên nhất. Dựa trên sự quan tâm ngày càng tăng về SOA, chúng ta thấy có nhiều cơ hội mới để áp dụng mẫu này trong một bối cảnh SOA.

Bối cảnh truyền thống, không-SOA

Mẫu làm sạch dữ liệu vẫn thường được áp dụng trong việc làm sạch thông tin tên và địa chỉ, nhưng cũng có thể áp dụng nó cho bất kỳ văn bản dạng tự do nào, chẳng hạn như các mô tả về sản phẩm trong các hệ thống hàng tồn kho. Văn bản dạng tự do thường hay nói đến nhất là văn bản nhập dữ liệu thủ công, không chọn dữ liệu từ một danh sách lựa chọn tiêu chuẩn hoặc nhập dữ liệu không theo bất kỳ định dạng nào, chẳng hạn như một địa chỉ đầy đủ trong một trường đơn lẻ. Mẫu làm sạch dữ liệu được định nghĩa như là sự tiêu chuẩn hóa, làm sạch sẽ và cuối cùng, so khớp (hoặc loại bỏ sự trùng lặp và dư thừa) các bản ghi dựa trên nội dung của các trường văn bản dạng tự do.

Định nghĩa về Quản lý dữ liệu chủ

Chúng ta gọi dữ liệu chủ là tập hợp dữ liệu cốt lõi, rất quan trọng đối với các mục tiêu kinh doanh của một tổ chức. Tập hợp này bao gồm các sản phẩm hoặc các bên tham gia (chẳng hạn như khách hàng, nhà cung cấp, v.v). Vì dữ liệu chủ rất quan trọng đối với hầu hết tất cả các chức năng nghiệp vụ, nên nó thường phân tán trên nhiều ứng dụng. Quản lý dữ liệu chủ (MDM) giải quyết việc quản lý, tích hợp và đồng bộ hóa có hiệu quả dữ liệu chủ trên nhiều ứng dụng.

Trong bối cảnh không-SOA truyền thống, quá trình này thường là một chức năng xử lý theo gói, được thực hiện định kỳ để đáp ứng các yêu cầu toàn vẹn thông tin về Quản lý dữ liệu chủ (Master Data Management) và để đạt được một khung nhìn nhất quán duy nhất về các thực thể quan trọng của công ty. Theo truyền thống, việc làm sạch dữ liệu cũng đã được áp dụng trong nhiều dự án kho dữ liệu. Để hỗ trợ phân tích, lập báo cáo, cung cấp một tầm nhìn bao quát về các thực thể như khách hàng chẳng hạn, dữ liệu được thu thập từ nhiều nguồn xung quanh doanh nghiệp. Những hòn đảo thông tin đó có thể được tạo ra bởi các đơn vị độc lập, các nhóm sản phẩm, các công ty con hoặc một sự kiện xảy ra một lần sau khi sáp nhập hay mua lại. Nếu không có công nghệ nội bộ hoặc muốn làm giàu thêm dữ liệu với các chi tiết nhân khẩu học hay tiếp thị, dữ liệu đã thu thập được thường được gửi tới các công ty bên ngoài để làm sạch. Một thời gian sau, có lẽ là vài ngày hoặc thậm chí lâu hơn, dữ liệu được trả về, được coi là không còn trùng lặp và dư thừa nữa mà đã được cải thiện. Nếu được xử lý nội bộ, mẫu làm sạch dữ liệu truyền thống thường là một chức năng "đúng thời điểm", được thực hiện hàng đêm hay hàng tuần để làm sạch dữ liệu nói chung hoặc nạp dữ liệu vào kho lưu trữ dữ liệu, các hệ thống tạo báo cáo hoặc các kho dữ liệu đang vận hành.

Ví dụ về sử dụng

Cửa hàng bán lẻ đồ trang sức sử dụng mẫu làm sạch dữ liệu trên cơ sở hàng tuần để kết nối các tên khách hàng từ một mảng nhiều hệ thống để xử lý tài khoản khách hàng mới, sự trung thành của khách hàng, tạo hướng dẫn khách hàng và thanh toán. Mỗi điểm nhập dữ liệu là một nguồn có thể gây ra trùng lặp hay dư thừa về tên khách hàng hoặc về nhiều khách hàng có thể sống ở cùng một địa điểm. Cách tiếp cận để loại bỏ trùng lặp hay dư thừa và mang lại ý nghĩa cho những thông tin như vậy là một ví dụ về việc áp dụng mẫu làm sạch dữ liệu. Ban đầu được xem là một cách để tiết kiệm những thứ đơn giản như phí bưu chính, bây giờ các công ty biết lo xa đã tin dùng mẫu làm sạch dữ liệu để đạt sự hiểu biết tốt hơn về các mẫu chi tiêu của người tiêu dùng, để xác định tốt hơn những người mua khối lượng lớn và để hợp nhất các yêu cầu bán hàng, hỗ trợ khách hàng và thanh toán vào một chỗ để cải thiện trải nghiệm của khách hàng.

Hình 1 minh họa kiến trúc mức cao về áp dụng mẫu làm sạch dữ liệu trong bối cảnh truyền thống.

Hình 1. Bối cảnh truyền thống của mẫu làm sạch dữ liệu
Bối cảnh truyền thống của mẫu làm sạch dữ liệu

Bối cảnh SOA

Bối cảnh SOA với mẫu làm sạch dữ liệu tận dụng lợi thế của các kỹ thuật tiêu chuẩn hóa và so khớp tinh vi và mở rộng chúng tới vị trí quan trọng nhất của các ứng dụng gần thời gian thực. Được xem xét trong bối cảnh này, mẫu làm sạch dữ liệu cho phép một doanh nghiệp mở rộng các khả năng của mình để xác nhận hợp lệ và so khớp với điểm tạo. Hơn nữa, có thể tích hợp logic loại bỏ trùng lặp và logic so khớp giống nhau thường dùng trong các hoạt động xử lý theo gói với các phương pháp luận tìm kiếm tinh vi hoặc để tăng cường khả năng định vị thông tin khách hàng khi thông tin hay các mã định danh khách hàng hoặc chưa biết hoặc chưa đầy đủ.

Bối cảnh SOA để làm sạch dữ liệu cho phép tiêu chuẩn hóa và so khớp các chuỗi yêu cầu riêng lẻ. Một tên hoặc địa chỉ đơn lẻ tự động được làm sạch, được trả về theo một định dạng tiêu chuẩn hoặc trong trường hợp phát hiện, được trả về cùng với một tập hợp các ứng viên tiềm năng được xác định trong quá trình so khớp. Trong các giải pháp nhập dữ liệu, việc này cải thiện sự biểu diễn dữ liệu (các chữ viết tắt thống nhất cho các kiểu đường phố và các bang, chẳng hạn) và tăng thêm lợi thế để tìm kiếm một dữ liệu trùng lặp hay dư thừa trước khi lưu giữ lâu dài nó. Việc tránh trước các vấn đề do dữ liệu trùng lặp hay dư thừa gây ra sẽ ít tốn kém hơn nhiều so với việc cố gắng sửa chữa chúng về sau hoặc phải chịu những hậu quả về tài khoản bị xử lý sai do không thể có một quan niệm duy nhất về một khách hàng.

Ví dụ về sử dụng

Có thể sử dụng một ứng dụng về điểm bán hàng, được biểu hiện bằng cổng thông tin ở phía trên bên trái của ví dụ trong Hình 2, làm một mô đun về sự trung thành của khách hàng để quản lý các hồ sơ của khách hàng thông thường. Trong trường hợp của chuỗi bán lẻ đồ trang sức lớn đã nói ở trên, ứng dụng của mẫu làm sạch dữ liệu trong một bối cảnh SOA sẽ cải tiến một bộ phận con của ứng dụng này. Hãy tưởng tượng khi một khách truy cập vào cửa hàng đã quên hoặc chưa bao giờ biết mã khách hàng trung thành của mình. Tên của khách hàng được nhập vào từng chữ (và dễ có khả năng bị lỗi) được so khớp động với kho lưu trữ dữ liệu chủ trung tâm theo thời gian thực và một danh sách các tên ứng viên được trả về. Từ các ứng viên đó, có thể tìm thấy hoặc xác nhận hợp lệ hồ sơ của khách hàng thực tế như là một khách hàng mới. Bấy giờ nhân viên bán hàng mới có thể cung cấp các dịch vụ mà một khách hàng trung thành được hưởng, chẳng hạn như các đánh giá miễn phí và có thể đề nghị mua món quà mới dựa trên hồ sơ cá nhân, chẳng hạn như sinh nhật hoặc những ngày kỷ niệm sắp tới. Khách hàng nhận được sự quan tâm thêm và cảm thấy mình đang được đối xử như một người đặc biệt. Việc triển khai làm sạch dữ liệu là một dịch vụ mang lại những lợi nhuận tiềm năng và có lợi cho trải nghiệm của khách hàng. Các quy tắc so khớp và tiêu chuẩn hóa được sử dụng lại, nhờ các chức năng tương tự được áp dụng trong lúc chạy chương trình xử lý theo bó.

Hình 2. Bối cảnh SOA của mẫu làm sạch dữ liệu
Bối cảnh SOA của mẫu làm sạch dữ liệu

Đặt vấn đề

Mẫu làm sạch dữ liệu giải quyết thách thức về cải thiện chất lượng dữ liệu và bảo đảm tính nhất quán của dữ liệu ở mức siêu dữ liệu cũng như ở chính mức dữ liệu. Các nguyên nhân điển hình về chất lượng dữ liệu thiếu và nghèo nàn là:

  • Các lỗi nhập dữ liệu (lỗi gõ phím).
  • Các định nghĩa siêu dữ liệu (các mô hình dữ liệu) quá lỏng lẻo và không được xác định nhất quán.
  • Các ràng buộc về tính toàn vẹn được không được xác định hoặc thực thi (thích hợp).

Ví dụ, định nghĩa hoặc ràng buộc rằng một mã bưu điện phải là một số hợp lệ chẳng hạn, có thể bị bỏ sót hoặc không được thực thi nhất quán. Nhiều bản thực hiện có thể không kiểm tra xem số mã đó có hợp lệ không hoặc thậm chí số mã đó có là một số hay không. Các định dạng để biểu diễn cùng một thực thể thế giới thực có thể mâu thuẫn nhau (ví dụ: kiểu số so với kiểu chuỗi ký tự để biểu diễn một mã bưu điện). Đúng như vừa mô tả, sự không nhất quán có thể thể hiện ở mức siêu dữ liệu, cũng như ở chính mức dữ liệu. Thậm chí nếu các mô hình dữ liệu đã được định nghĩa một cách thích hợp và nhất quán, việc thiếu các ràng buộc thích hợp về tính toàn vẹn đối với các giá trị dữ liệu có thể dẫn đến các vấn đề về chất lượng và tính nhất quán. Cùng một thực thể thế giới thực có thể được biểu diễn bằng các giá trị dữ liệu khác nhau, chẳng hạn như các số mã bộ phận khác nhau của một sản phẩm hoặc các số đo trọng lượng khác nhau. Một số vấn đề phổ biến nhất bao gồm:

  • Thiếu sự phân tách các giá trị (ví dụ, địa chỉ đầy đủ dưới dạng trường văn bản tự do mà không có bất kỳ dấu hiệu nào cho thấy nơi tên đường phố kết thúc và bắt đầu tên thành phố)
  • Thiếu các tiêu chuẩn cho các định dạng và giá trị dữ liệu như:
  • Các kiểu dữ liệu (ví dụ, số nguyên hoặc varchar).
  • Định dạng văn bản ("123-45-6789" hoặc "123.456.780" hoặc "123 45 6789").
  • Các từ viết tắt ("IBM" hoặc "I.B.M" hoặc "Int. Bus. Machines" hoặc "International Business Machines").
  • Mức độ trừu tượng hóa và độ chi tiết ("Massachusetts" hay là "Suffolk County").
  • Các thuộc tính bắt buộc (danh hiệu cho một người) hoặc các phần của các thuộc tính (kiểu của một tổ chức bên trong tên của nó (ví dụ như "IBM" hoặc "IBM Corporation").
  • Thiếu các giá trị nhất quán cho các mã định danh.
  • Bố trí không đúng các giá trị vào các thuộc tính (giá trị của mã bưu điện-ZIP xuất hiện trong thuộc tính số điện thoại).
  • Các giá trị không đúng do nhập dữ liệu không đúng hoặc thông tin đã lỗi thời ("Somers, CT 10589", ở đây mã bưu điện "10589" không phải ở tiểu bang Connecticut mà ở New York).
  • Trùng lặp hay dư thừa các bản ghi do các giá trị không nhất quán trong một hay nhiều thuộc tính.

Mô tả giải pháp

Các đặc điểm trong thời gian thiết kế mẫu làm sạch dữ liệu xoay quanh việc thiết lập các quy tắc tiêu chuẩn để chuyển đổi và làm sạch các nguồn dữ liệu, việc định nghĩa các tiêu chí so khớp để hỗ trợ loại bỏ trùng lặp hay dư thừa và việc nhận biết cách xác định dữ liệu phổ biến nhất hoặc chính xác nhất. Như bạn có thể tưởng tượng, thiết kế là giai đoạn quan trọng và phức tạp nhất trong quá trình làm sạch dữ liệu. Một khi đã hoàn thành nhiệm vụ này, việc áp dụng các quy tắc làm sạch, so khớp và tiếp tục tồn tại được sử dụng trong các quá trình thời gian chạy.

Các đặc điểm trong thời gian thiết kế

Các nhà thiết kế áp dụng mẫu này phải quy định các quy tắc làm sạch, có thể được hỗ trợ bởi các công cụ thích hợp. Có thể chia hoạt động này thành bốn bước chính:

  1. Phân tích cú pháp dữ liệu đầu vào và gắn vào các phần tử tiêu chuẩn và đủ chi tiết.
  2. Tiêu chuẩn hóa dữ liệu.
  3. So khớp và loại bỏ trùng lặp hay dư thừa các mục nhập dữ liệu.
  4. Sự tiếp tục tồn tại của thông tin chính xác

Như đã nêu trong phần đặt vấn đề, có thể biểu diễn các giá trị dữ liệu theo văn bản tự do hoặc một số trường gộp lại (thuộc tính street có thể nắm giữ số nhà, hướng phố cũng như tên phố). Dựa trên sự hiểu biết về dữ liệu nào thực sự được bắt giữ trong một trường, bước đầu tiên là xác định thuật toán để tách các giá trị dữ liệu và gán chúng tới các thuộc tính cơ bản thích hợp nhất. Điều này đòi hỏi phải có kiến thức đặc trưng về miền ứng dụng (ví dụ, các đường phố có thể có một phần chỉ hướng ở Mỹ, chẳng hạn như "1007 North Main Street", nhưng không phổ biến ở Đức).

Sau khi gán chính xác các giá trị dữ liệu cho các thuộc tính, nhà thiết kế cần quy định cách chuẩn hóa các giá trị này. Điều này có nghĩa là nhà thiết kế cần tìm câu trả lời cho các câu hỏi như sau:

  • Văn bản sẽ có dạng chữ hoa hoặc dạng hỗn hợp chữ hoa, chữ thường?
  • Các con số sẽ được chuyển đổi sang kiểu dữ liệu thích hợp (chẳng hạn như "mười chín" thành "19") hay không?
  • Các con số trong trường mã bưu điện có biểu diễn một mã bưu điện đúng không?
  • Mã bưu điện có khớp với bang (và thành phố) không)?
  • Địa chỉ đầy đủ này (số phố, phố, thành phố, bang, mã bưu điện) có tồn tại không?
  • Biểu diễn chuẩn cho một tên (ví dụ như "Bob") sẽ là gì? (Bước này là để nhận biết các sự trùng lặp, không phải đề xuất một tên chính xác, rất có thể là "Bob" mà không phải là "Robert").

Một số quy tắc tiêu chuẩn hóa rất đơn giản và không đòi hỏi nỗ lực đáng kể nào, chẳng hạn như chuyển đổi dữ liệu ký tự hỗn hợp thành dữ liệu chữ hoa. Một số quy tắc là tương đối nâng cao và yêu cầu truy cập vào một cơ sở dữ liệu lưu trữ các giá trị chính xác, chẳng hạn như sự kết hợp chính xác giữa mã bưu điện, thành phố và bang ở Mỹ. Các quy tắc chuẩn hóa cũng có thể phải theo ngữ cảnh: một chuỗi như "St. Virginia St." được xác định có một tên phố là "St. Virginia" và một kiểu “phố” viết là "street" (giả sử đây là một địa chỉ của Hoa Kỳ). " St." và " St.", về mặt kỹ thuật đều giống nhau, nhưng chúng có một ý nghĩa khác khi được diễn giải qua con mắt của một bộ quy tắc thông minh.

Trong nhiều trường hợp, nhà thiết kế phải nhận biết được các bản ghi trùng lặp tiềm năng. Thật không may, ngay cả sau khi chuẩn hóa, các giá trị dữ liệu của các bản ghi thường không giống hệt nhau. Trong một bản ghi, tên của một người có thể là "J. Smith" và trong bản ghi khác, tên đó có thể là "John Smith". Một trong những thách thức khi nhận biết một sự trùng khớp là xác định liệu có khả năng tên "J. Smith" là "John Smith" không. Rõ ràng, điều này tùy thuộc vào những thông tin khác chứa trong hồ sơ. Nếu địa chỉ hoàn toàn giống nhau, rất có thể có khả năng này. Điều này cũng sẽ tùy thuộc vào có bao nhiêu người có cùng họ và cùng tên: có ít khả năng là có hai người cùng có tên là "April Back-Cunninghams" trong cùng một thành phố so với trường hợp hai người cùng có tên "Robert Johnson". Có thể áp dụng mẫu tương tự đã dùng cho việc phân tích cú pháp và phân tích từ vựng của các tên và địa chỉ dạng tự do để tiêu chuẩn hóa và loại bỏ trùng lặp các danh sách sản phẩm hoặc các bộ phận phụ tùng nhằm cải tiến việc kiểm soát hàng tồn kho. Cần lưu ý rằng chúng tôi đã sử dụng chủ yếu là các địa chỉ của Hoa kỳ, nhưng cách tiếp cận này chắc chắn sẽ áp dụng được cho bất kỳ quốc gia nào và không chỉ là các địa chỉ.

Có hai phương pháp để giải quyết việc so khớp: so khớp tất định so khớp xác suất. So khớp tất định dựa trên các quy tắc nghiệp vụ và các thuật toán để định nghĩa một sự trùng khớp. Ưu điểm của phương pháp này là nó cung cấp kết quả rõ ràng chẳng hạn như hai bản ghi có trùng khớp nhau hay không. Tuy nhiên, bộ quy tắc này thường bị hạn chế theo các quy tắc và các thuật toán được phân loại có mức độ phức tạp trung bình hay đơn giản. Phương pháp so khớp xác suất sử dụng các thuật toán thống kê và logic mờ (fuzzy) để chỉ báo một sự trùng khớp. Cách tiếp cận này sử dụng nhiều cơ chế mạnh mẽ hơn để nhận biết một sự trùng khớp và đưa ra xác suất để chỉ sự trùng khớp, chẳng hạn như 93%. Mức tin cậy của sự trùng khớp sẽ được cân đối với giá trị của thông tin đang được xử lý và chi phí để xác định sự trùng khớp đó.

Dựa trên các quy tắc so khớp, nhà thiết kế quy định cụ thể các quy tắc tiếp tục tồn tại để xác định bản ghi và các thuộc tính nào của một bản ghi phản ánh thông tin chính xác và cần chọn lấy và loại bỏ bản ghi và thuộc tính nào.

Bây giờ chúng ta đã hoàn thành phần cốt lõi về quy định các quy tắc làm sạch, bước cuối cùng là xác định cách thu gom dữ liệu đầu vào (bằng cách sử dụng yêu cầu dịch vu, trích ra/truy vấn cơ sở dữ liệu) và cách đưa ra kết quả của quá trình làm sạch (áp dụng với một cơ sở dữ liệu hay là cung cấp như một đáp ứng dịch vụ).

Hình 3 Hình 3 cho thấy một tổng quan về hoạt động này.

Hình 3. Các khía cạnh thời gian thiết kế của Mẫu làm sạch dữ liệu
Các khía cạnh thời gian thiết kế của Mẫu làm sạch dữ liệu

Định nghĩa về lược tả dữ liệu

Lược tả dữ liệu là phân tích cơ sở dữ liệu để hiểu rõ hơn về siêu dữ liệu của chúng. Các mục tiêu gồm có:

  • Phát hiện ra siêu dữ liệu chưa được quy định bao gồm bất kỳ các mối quan hệ bên trong và giữa các cơ sở dữ liệu.
  • Kiểm tra độ chính xác của các quy tắc toàn vẹn đã quy định.
  • Gợi ý về một mô hình dữ liệu thích hợp hơn.

Mục tiêu cuối cùng đặc biệt quan trọng để định nghĩa một mô hình dữ liệu tích hợp trên các nguồn không đồng nhất.

Điều quan trọng cần lưu ý là mẫu làm sạch dữ liệu thường được áp dụng cùng với các mẫu khác, các hộp màu xanh lá cây trong Hình 3 là một ví dụ như vậy. Đối với các nhà phát triển hoặc nhà thiết kế, để quy định các quy tắc làm sạch, cần thiết phải có một sự hiểu biết đầy đủ về các nguồn dữ liệu nên áp dụng mẫu làm sạch dữ liệu cho chúng. Điều này bao gồm việc nhận biết và hiểu ngữ nghĩa của thông tin, chẳng hạn như ý nghĩa của các phần tử mô hình dữ liệu cũng như thông tin cấu trúc. Lược tả dữ liệu sẽ giúp lấy được kiến thức này từ các nguồn dữ liệu bên dưới. Trong nhiều trường hợp, mẫu làm sạch dữ liệu được áp dụng cùng với mẫu hợp nhất dữ liệu. Trong một kịch bản như vậy, cần quy định các ánh xạ các phần tử dữ liệu từ các nguồn tới đích (được gọi là mô hình hóa tích hợp - integration modeling trong Hình 3).

Thời gian chạy

Dịch vụ làm sạch dữ liệu nhận dữ liệu có mức chất lượng dữ liệu không xác định làm đầu vào. Thông thường, hoặc dịch vụ được gọi ra với đầu vào này làm một tham số của yêu cầu dịch vụ (theo giá trị) hoặc dịch vụ này thu gom dữ liệu từ một hoặc nhiều nguồn đã định (theo tham chiếu). Sau đó dịch vụ này áp dụng các quy tắc làm sạch đối với dữ liệu nguồn. Tùy thuộc vào sự phức tạp của các quy tắc làm sạch dữ liệu, quá trình này có thể yêu cầu tra tìm trong một cơ sở dữ liệu hoặc một từ điển để xác nhận tính chính xác của thông tin (chẳng hạn như một tổ hợp đúng của mã bưu điện, thành phố, bang). Sau khi xử lý thành công, thông tin đã làm sạch được trả về như là sự đáp ứng của dịch vụ. Trong một bối cảnh truyền thống, kết quả đầu ra này thường được áp dụng cho một cơ sở dữ liệu hoặc tiếp tục xử lý trong một quá trình hợp nhất dữ liệu. (Xem phần Tài nguyên để biết nhiều bài viết về dữ liệu hợp nhất).

Các dịch vụ làm sạch dữ liệu thường đòi hỏi một mức độ tinh vi cao được thực hiện bằng máy chủ làm sạch dữ liệu để có thể cung cấp các mức hiệu năng và khả năng mở rộng quy mô cao thông qua việc khai thác xử lý song song. Sau đó máy chủ này có thể xử lý và làm sạch những khối lượng dữ liệu vô cùng lớn trong chế độ gói cũng tốt như với các bản ghi đơn lẻ trong một môi trường chạy thời gian thực. Một kịch bản liên quan đến việc hợp nhất và làm sạch toàn bộ nội dung của nhiều hệ thống di sản minh họa yêu cầu xử lý nhiều khối lượng dữ liệu lớn. Ở đầu kia của kịch bản, có thể gọi máy chủ làm sạch dữ liệu thông qua một dịch vụ Web của một ứng dụng cổng thông tin để kiểm tra một địa chỉ đã được nhập trên màn hình. Trong trường hợp này, máy chủ có thể cần đáp ứng với một số lượng lớn các yêu cầu đồng thời theo thời gian thực.


Những việc cần xem xét

Khi áp dụng mẫu làm sạch dữ liệu, điều quan trọng là cần hiểu xem nó ảnh hưởng như thế nào đến các yêu cầu không chức năng sau đây.

Tần suất thực hiện giao dịch

Khả năng của dịch vụ làm sạch để thực hiện một giao dịch làm sạch dữ liệu ở tốc độ cao được xác định bằng tốc độ ở đó máy chủ làm sạch dữ liệu có thể truy cập dữ liệu đầu vào và áp dụng các quy tắc làm sạch. Các quy tắc làm sạch càng phức tạp và càng yêu cầu tra tìm nhiều hơn, thì việc thực hiện hoạt động làm sạch sẽ càng kéo dài.

Một máy chủ làm sạch dữ liệu có thể khai thác các khả năng xử lý song song sẽ có một ưu điểm đáng kể so với các cách tiếp cận khác; IBM® WebSphere® QualityStage ((xem phần Tài nguyên) là một ví dụ về một máy chủ làm sạch dữ liệu đã sẵn sàng chạy

Hiệu năng /thời gian đáp ứng giao dịch

Sự phức tạp của các quy tắc làm sạch và khả năng của máy chủ làm sạch để xử lý dữ liệu có hiệu quả sẽ xác định thời gian đáp ứng giao dịch (áp dụng các quy tắc làm sạch đối với dữ liệu đầu vào và trả về kết quả). Nhiều bản thực hiện máy chủ làm sạch có thể phối hợp các quy tắc và khai thác các khả năng xử lý song song sẽ thực hiện tốt hơn so với những bản khác.

Khối lượng dữ liệu cho mỗi giao dịch

Việc áp dụng mẫu làm sạch dữ liệu đối với các tập hợp dữ liệu lớn cũng như các bản ghi riêng lẻ là khá phổ biến. Vì vậy, máy chủ làm sạch dữ liệu cần có khả năng điều chỉnh quy mô để xử lý nhiều khối lượng dữ liệu lớn.

Các khả năng chuyển đổi

Các hoạt động làm sạch dữ liệu (phân tích cú pháp hay phân tách các giá trị, chuẩn hóa và so khớp và tiếp tục tồn tại) được quy định dưới dạng các quy tắc làm sạch. Cuối cùng có thể áp dụng các hoạt động đó cho việc chuyển đổi dữ liệu đầu vào, có thể có chất lượng thấp, thành một kết quả đầu ra có một mức chất lượng và tính nhất quán cao hơn. Do các quy tắc chuyển đổi có thể có nhiều và phức tạp, nên nhiều bản thực hiện mẫu làm sạch dữ liệu triển khai các quy tắc làm sạch dưới dạng các hoạt động chuyển đổi bằng cách sử dụng một máy chủ làm sạch dữ liệu.

Các khả năng chuyển đổi của mẫu làm sạch dữ liệu được chuyên môn hóa và tập trung vào việc cải thiện chất lượng và tính toàn vẹn dữ liệu bằng cách tiêu chuẩn hóa và so khớp dữ liệu. Các cách tiếp cận chuyển đổi dữ liệu tổng quát hơn – chẳng hạn như được mô tả trong Phần 2: Mẫu hợp nhất dữ liệu -- tập trung vào việc trao đổi và định dạng lại, chia tách và sáp nhập dữ liệu và không có hỗ trợ tinh vi hơn về chất lượng dữ liệu.

Các yêu cầu chuyển đổi thường hay bị ảnh hưởng nhất bởi sự đa dạng của nguồn dữ liệu và như vậy, khả năng để định nghĩa các đặc điểm của các chuyển đổi phức tạp là rất quan trọng. Các yêu cầu chuyển đổi càng phức tạp và khác nhau, việc chuyển đổi thời gian chạy hoặc máy chủ làm sạch dữ liệu phải càng tinh vi hơn.

Kiểu mô hình nguồn, các giao diện, các giao thức

Các bản triển khai sản phẩm của mẫu làm sạch dữ liệu thay đổi tùy theo phạm vi các định dạng khác nhau mà chúng có thể hỗ trợ đối với dữ liệu đầu vào. Do được áp dụng đầy đủ và chính xác, mẫu làm sạch dữ liệu loại bỏ sự phức tạp của các mô hình nguồn, các giao diện và các giao thức khác nhau sao cho các nhà phát triển chỉ cần quan tâm đến một mô hình, một giao diện và một giao thức mà thôi.

Thời gian phân phối giải pháp

Các bản triển khai sản phẩm của mẫu làm sạch dữ liệu thường cung cấp hỗ trợ công cụ rất tinh vi để quy định các quy tắc làm sạch và để hiển thị trực quan tính hiệu quả của các quy tắc ấy đối với dữ liệu đầu vào. Ví dụ, bản ghi nào được nhận dạng là một bản ghi trùng khớp dựa trên các quy tắc so khớp xác suất?. Nhiều trong số các bản thực hiện này đã định sẵn các hoạt động (quy tắc làm sạch) để dùng ngay được với các sản phẩm. Tính năng này cho phép người thực hiện áp dụng cách tiếp cận này rất hiệu quả trong một khoảng thời gian ngắn.

Người ta thường áp dụng mẫu này đối với dữ liệu có một mức chất lượng và tính nhất quán rất thấp. Do đó có thể cần phải tinh chỉnh nhiều lần các quy tắc làm sạch. Nỗ lực trên có liên quan trực tiếp đến các đặc điểm của bài toán cần giải quyết chứ không phải là cách tiếp cận của mẫu.

Tập hợp kỹ năng và kinh nghiệm

Có hai tập hợp kỹ năng và kinh nghiệm chính cần thiết để làm sạch dữ liệu. Các kỹ năng phân tích cần thiết để hiểu và định nghĩa nhiều sắc thái gắn với các nguồn dữ liệu và các đích về định dạng, các giá trị, các phạm vi và các đặc điểm khác là rất quan trọng. Nếu tiếp cận theo cách sử dụng công cụ, nhà phân tích cần có kiến thức cụ thể về sản phẩm để định nghĩa các quy tắc làm sạch. Thứ hai, nhà phát triển sẽ cần hiểu các khái niệm, các tiêu chuẩn và các công nghệ SOA cần thiết để thực hiện các dịch vụ làm sạch. Ngoài ra, nếu sử dụng cách tiếp cận có công cụ cho một máy chủ thời run-time, nhà phát triển và kiến trúc sư hệ thống sẽ cần có kiến thức và kinh nghiệm để bảo đảm rằng máy chủ có khả năng mở rộng quy mô để đáp ứng các thỏa thuận mức dịch vụ bắt buộc.

Chi phí phát triển

Các chi phí phát triển phụ thuộc phần lớn vào tính phức tạp của nhiệm vụ làm sạch dữ liệu. Các chi phí có thể thấp nếu chỉ cần áp dụng các quy tắc chuẩn hóa cơ bản. Các quy tắc làm sạch càng trở nên phức tạp, thì các chi phí phát triển thực hiện sẽ càng cao. Chi phí gắn liền với phân tích dữ liệu, đi kèm với các chu kỳ phát triển và thử nghiệm nhiều lần cần thiết để giải quyết tính phức tạp cũng cao hơn.

Khả năng tái sử dụng

Khả năng tái sử dụng trong các mẫu làm sạch dữ liệu được thực hiện thông qua việc định nghĩa các quy tắc làm sạch để có thể áp dụng các quy tắc làm sạch đó ở mức bản ghi thông qua một dịch vụ hoặc thông qua một quá trình xử lý theo gói cho dữ liệu lớn. Cơ hội tái sử dụng thứ hai là thông qua việc sử dụng một quy trình máy chủ chung để thực hiện các quy tắc làm sạch.


Kết luận

Mẫu làm sạch dữ liệu chỉ rõ một cách thực hành gợi ý để cải thiện chất lượng dữ liệu của dữ liệu lưu giữ lâu dài hoặc vào lúc nhập dữ liệu hoặc sau khi nhập dữ liệu.

Các vùng trọng tâm để áp dụng mẫu làm sạch dữ liệu

  • Cải thiện chất lượng và tính nhất quán của dữ liệu cho các nhu cầu thông tin quan trọng, chẳng hạn như tên và địa chỉ của khách hàng. Như đã mô tả ở trên, mẫu làm sạch dữ liệu có thể biến dữ liệu chưa nhất quán (và do đó, không dùng được) thành một tài sản chiến lược có giá trị.

Các vùng nhiều rủi ro nếu áp dụng mẫu hợp nhất dữ liệu

  • Thiếu hiểu biết và định nghĩa chung về dữ liệu nghiệp vụ cốt lõi.
  • Thiếu các hướng dẫn nghiệp vụ và quản trị ổn định về chất lượng dữ liệu. Đặc tả của các quy tắc làm sạch dữ liệu cần dựa trên các hướng dẫn được các chuyên gia nghiệp vụ phê duyệt và phần lớn đã ổn định. Nếu các hướng dẫn về chất lượng thay đổi quá thường xuyên hoặc chưa được phê duyệt, việc duy trì các quy tắc làm sạch và triển khai liên tục các quy định mới có thể dẫn đến việc gia tăng đáng kể tải công việc.
  • Thiếu sự hỗ trợ giữa các phòng ban, đặc biệt khi các ứng dụng truy cập và sửa đổi thông tin vượt qua ranh giới các phòng ban. Mặc dù một tổ chức duy nhất có thể cải thiện chất lượng dữ liệu của họ, các ứng dụng có thể thay đổi dữ liệu bên ngoài phạm vi kiểm soát của tổ chức, điều này có thể dẫn đến sự suy giảm chất lượng.

Bản đồ sản phẩm

Các sản phẩm sau đây của IBM thực hiện mẫu này:

  • IBM Information Server là một nền tảng tích hợp dữ liệu khối lượng lớn để làm sạch, chuyển đổi và bố trí lại dữ liệu.
  • WebSphere QualityStage là một trong những thành phần cốt lõi của danh mục này nhằm cung cấp công nghệ làm sạch dữ liệu. WebSphere QualityStage hỗ trợ tiêu chuẩn hóa, làm giàu thêm và so khớp dữ liệu văn bản dạng tự do. WebSphere QualityStage rất quan trọng đối với các giải pháp Master Data Management (Quản lý dữ liệu chủ). WebSphere QualityStage cho phép liên kết và loại bỏ trùng lặp các bản ghi hay bên trong nhiều nguồn dữ liệu bằng cách áp dụng các quy tắc phân tích cú pháp tinh vi và các hàm so khớp thống kê. Công cụ này cũng cho phép lựa chọn một bản ghi "tốt nhất" duy nhất để lưu giữ lâu dài trên các nguồn bằng cách tự động điền vào các giá trị thực thể còn thiếu, rỗng hoặc không đầy đủ, để có một quan niệm toàn diện duy nhất về dữ liệu trải rộng trên nhiều hệ thống.
  • WebSphere Information Services Director - Giám đốc Các dịch vụ thông tin WebSphere (cũng là một phần của sản phẩm danh mục IBM Information Server) trưng ra các khả năng quản lý thông tin như các dịch vụ. Nó đóng gói logic tích hợp thông tin, các quy tắc làm sạch, truy cập thông tin v.v như là các dịch vụ. Điều này cách ly nhà phát triển ra khỏi nhà cung cấp bên dưới của các chức năng này. Điều quan trọng nhất là sản phẩm này có khả năng trưng ra việc làm sạch dữ liệu thông qua một giao diện hướng dịch vụ như EJB, JMS (Java™ Message Service) hoặc các dịch vụ Web. Sản phẩm này cung cấp cơ sở hạ tầng nền tảng (gồm cân bằng tải và khả năng chịu lỗi) cho các dịch vụ thông tin. Nó thực hiện thành phần hỗ trợ dịch vụ thông tin như minh họa trong Hình 2. WebSphere Information Services Director được xây dựng trên cơ sở hạ tầng siêu dữ liệu mạnh mẽ như WebSphere QualityStage.

Lời cảm ơn

Chúng xin cảm ơn Jonathan Adams và Lou Thomason về sự giúp đỡ trong lúc viết bài và trong việc phát triển mẫu này.

Tài nguyên

Học tập

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

Thảo luậ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=SOA và dịch vụ Web, Information Management
ArticleID=929054
ArticleTitle=Các mẫu dịch vụ thông tin, Phần 3: Mẫu làm sạch dữ liệu
publish-date=05082013