I. Ưu điểm của CSDL So với việc lưu các ván cờ Tướng thành từng file riêng lẻ thì việc lưu nhiều ván thành một file (gọi là Cơ sở dữ liệu - viết tắt CSDL) có nhiều ưu điểm như gọn gàng hơn. Việc tìm kiếm, sắp xếp (ví dụ như tìm các ván của một đấu thủ, các ván bên hậu thắng...) và nghiên cứu (như xem theo các kiểu khai cuộc) cũng thuận tiện hơn rất nhiều. Ngoài các CSDL cờ Tướng mà ta có thể download về và xem trên máy (CSDL offline) thì hiện nay đã có vài CSDL trên Internet. Người yêu cờ có lẽ không lạ gì các trang web của Peter Sung (gần như là CSDL cờ Tướng đầu tiên online), trang web của xqfan.com (xuất hiện thứ 2) và các trang web như dpxq.com, 01xq.com. So với việc download về và xem trên máy (giống như bạn download các CSDL trong xqfan.com và xem chúng bằng phần mềm Saola hoặc XB - xem thêm bài viết http://xqfan.com/vn/index.php?cid=19&id=270) thì CSDL online tiện lợi hơn ở chỗ người dùng không cần phải download, cài đặt phần mềm, gần như có thể xem được mọi nơi, mọi loại máy (miễn là có kết nối Internet). Với người làm web, nếu bạn định giới thiệu nhiều ván cờ (ví dụ khi muốn giới thiệu các ván cờ hay của bản thân, hay bạn muốn giới thiệu các ván đấu bạn sưu tầm được từ giải đấu quốc gia năm nay) thì dùng CSDL thuận tiện và nhanh hơn là giới thiệu từng ván. Thay cho phải tạo nhiều trang web để hiện từng ván cờ đó, bạn chỉ cần gộp chúng lại và đưa lên duy nhất một trang web mà thôi. Cách giới thiệu này vừa nhanh gọn vừa tập trung. II. Thách thức kỹ thuật của các CSDL hiện tại Với người làm web, không hề dễ đưa CSDL lên trang web. Với các kỹ thuật hiện tại, để hiện được một CSDL phải được hỗ trợ từ máy chủ (server). Đầu tiên máy chủ phải đọc từ CSDL xem nó có các ván cờ gì rồi tạo một trang web có một cái bảng hiện tên các ván cờ đó. Khi người dùng bấm vào tên một ván cờ thì máy chủ phải đọc nội dung của ván cờ đó rồi tạo ra một trang web mới hiện riêng ván cờ đó. Nếu muốn hiện ván cờ kiểu tương tác, người ta còn phải dùng kết hợp với các chương trình web khác như Coffee Chinese Chess Applet, chương trình cờ JavaScript như Dongping hay SonDoong. Tất cả những điều trên đòi hỏi người tạo web (ngoài việc biết tạo file html) phải biết một số kỹ thuật trên máy chủ, và đặc biệt phải biết lập trình để viết chương trình chạy trên máy chủ. Một số loại máy chủ như loại chỉ cho dùng web tĩnh (thường là loại máy chủ miễn phí hoặc giá rẻ), blog... còn không cho phép viết chương trình cho chúng nên người tạo web không có cách nào viết được chương trình CSDL kiểu này. Có lẽ đó là lý do chính khiến số trang web có CSDL cờ Tướng còn rất ít ỏi như đã liệt kê ở phần trên. III. Chương trình SonDoong DataBase Viewer (sdb) Chương trình SonDoong DataBase Viewer (sdb) giúp giải quyết hoàn toàn vấn đề kỹ thuật của người tạo web, hỗ trợ họ đưa các CSDL cờ lên web thật dễ dàng. Người tạo web không cần phải viết chương trình hay có bất cứ hành động can thiệp nào đối với máy chủ. Ý tưởng hoạt động của sdb khá đơn giản: nó hiểu và dùng cấu trúc CSDL của Saola và XB. Đây là các CSDL cờ tương đối phổ biến, có thiết kế tốt, rất gọn, hoạt động nhanh, có chương trình miễn phí XB hỗ trợ. Bạn chỉ cần tạo rồi tải các CSDL này lên máy chủ. Khi sdb - là chương trình được gắn vào trang web - bắt đầu chạy, nó sẽ tải CSDL này về máy của người dùng rồi tạo bảng các ván cờ, khi người dùng bấm vào một cái tên, nó sẽ tự động hiện bàn cờ... tất cả các việc này hoàn toàn tự động và rất nhanh. Như vậy điểm khác cơ bản là với các CSDL dùng kỹ thuật hiện tại, CSDL cờ sẽ được đọc và xử lý ở máy chủ. Còn với SonDoong sdb CSDL sẽ được tải về và xử lý ở máy của người sử dụng. Từ đó ta có một số so sánh hệ quả như sau: Phải lập trình cho máy chủ: Kỹ thuật hiện tại: phải lập trình và chương trình tương đối phức tạp Dùng SonDoong sdb: không Yêu cầu với máy chủ: Kỹ thuật hiện tại: phải cho phép lập trình và chạy được chương trình CSDL cờ Dùng SonDoong sdb: không có bất cứ yêu cầu đặc biệt nào (chỉ cần cho tải các file của SonDoong và CSDL) nên có thể chạy được với hầu hết mọi loại máy chủ Hoạt động của server Kỹ thuật hiện tại: liên tục đọc và phân tích CSDL - tương đối tốn bộ nhớ và CPU Dùng SonDoong sdb: không. Ngoài việc cho download lần đầu, server không phải làm gì hết Tải dữ liệu lần đầu Kỹ thuật hiện tại: ít (chỉ các thông tin hiện bảng ván cờ) - tuy vậy chưa chắc đã nhanh do server phải đọc và phân tích toàn bộ CSDL Dùng SonDoong sdb: phải tải nhiều hơn - phải gửi cả CSDL cờ đến cho máy người sử dụng Tải dữ liệu trong lúc người sử dụng xem xét các ván cờ Kỹ thuật hiện tại: tải ít nhưng liên tục. Mỗi động tác giở trang, quay lại trang cũ, xem ván cờ mới... thì server lại phải đọc toàn bộ CSDL, phân tích, tạo trang web và gửi đến cho người dùng Dùng SonDoong sdb: không. Vì toàn bộ CSDL cờ đã ở máy người dùng rồi, không cần phải tải bất cứ dữ liệu gì nữa. Tốc độ Kỹ thuật hiện tại: chậm. Phải chờ server xử lý rồi gửi dữ liệu theo đường truyền đến cho người dùng Dùng SonDoong sdb: gần như tức thời Như vậy ở đây dùng SonDoong có một chút băn khoăn: khi bắt đầu SonDoong phải tải cả CSDL cờ về máy người dùng. Liệu việc này có lâu và có tốn kém băng thông không? * nếu bạn tạo và dùng các CSDL cỡ nhỏ (chỉ đến vài trăm ván cờ) thì kích thước các CSDL này chỉ cỡ vài chục đến vài trăm KB. Ví dụ CSDL các ván cờ trong quyển kỳ phổ Quất Trung Bí (download ở xqfan.com) chỉ cỡ 70 KB - chỉ bằng kích cỡ của một cái ảnh nhỏ trong các bài báo. Kích cỡ các ván cờ trong một giải quốc gia chỉ trong vòng 100-150KB - đó là kích cỡ của một cái ảnh cỡ nhỡ. Giống các file ảnh, một khi trình duyệt đã tải xong các file CSDL nó sẽ lưu các file này vào bộ nhớ đệm của nó. Sau đó dù người dùng có quay đi hay quay lại trang web CSDL, trình duyệt không cần phải tải lại các file CSDL. Do vậy việc tải các CSDL này về khá nhanh và cũng không tốn nhiều băng thông. * khi người dùng xem liên tục các ván cờ, với kiểu cũ, máy chủ phải liên tục gửi đi gửi lại các trang web mới. Mỗi trang web này ngoài thông tin về cờ còn rất nhiều thông tin phụ (như thẻ, văn bản của trang html). Tổng khối lượng các trang web này tăng rất nhanh theo thời gian người dùng làm việc và có thể lớn rất hơn nhiều một CSDL cờ. Trong khi đó, với SonDoong ngoài lần tải đầu tiên, không có bất cứ thông tin, khối lượng nào phải download nữa. Trong tương lai gần: tốc độ đường truyền ngày càng nhanh hơn (hình dung khi chúng ta đang chuyển sang cáp quang), băng thông ngày càng rẻ hơn và thâm chí có nhiều dịch vụ miễn phí hoàn toàn băng thông (như blog, hay của Google). Trong khi đó hiện nay hầu hết các dịch vụ máy chủ vẫn tính tiền nếu bạn cần lập trình và thường đưa ra giới hạn về bộ nhớ và tốc độ xử lý... thì việc dùng SonDoong sdb sẽ là một lợi thế lựa chọn và một hỗ trợ tốt. IV. Ví dụ về SonDoong sdb Trang http://xqfan.com/sd/vnsdbexam.html là một minh hoạ cách dùng sdb để xem các CSDL của trang web này. Người dùng cỏ thể bấm vào hộp chọn bên tay phải phía trên để chọn CSDL. Các ván cờ trong một CSDL sẽ được hiện thành một cái bảng. Để xem các ván cờ khuất chỉ cần kéo thanh cuộn (với người dùng máy IPad, IPhone có thể dùng hai ngón tay kéo bảng lên). Nếu muốn sắp xếp lại thông tin chỉ cần bấm vào ô đầu tiên, ví dụ muốn sắp xếp tên người dùng đi tiên, bấm vào ô "Tiên". Khi cần xem một ván cờ, bấm vào dòng ván cờ đó, nội dung ván cờ sẽ hiện ở bàn cờ bên tay phải. V. Phát hành Hiện nay chúng tôi đang ở trong giai đoạn kiểm tra, đóng gói sdb để phát hành trong thời gian sớm nhất. Sau khi phát hành sdb, chúng tôi dự định sẽ tiếp tục cải tiến trình miễn phí XB để hỗ trợ trực tiếp SonDoong với một số chức năng cái tiến chính như sau: * Tất cả các CSDL mới sẽ đi kèm sdb, do đó người dùng có thể xem các CSDL này mà không cần phải cài XB, Saola * XB sẽ sinh mã HTML để dùng SonDoong với ván cờ hoặc CSDL. /chezz