Tài liệu kỹ thuật JCache cuối cùng cũng được hoàn thiện sau 13 năm

Diem Do

Vào ngày 6 tháng 3 năm 2001, một dự kiến về tài liệu kỹ thuật được ra đời với JCP. Được gọi là JSR 107: Java Temporary Caching API (gọi tắt là JCache), dường như JCP là một dự kiến tài liệu kỹ thuật trong thời gian lâu hơn so với bất kỳ một ngôn ngữ nào.

 

Nhưng chính xác sau 13 năm, vào tháng 3 năm nay, tài liệu kỹ thuật đó được hoàn thành nhờ vào sự nổ lực của Greg Luck và Brian Oliver, Cameron Purdy bên phía Oracle.

 

0903.sdt-jcache

 

Chúng tôi có cơ hội gặp Luck lúc ông ấy đảm nhiệm là Giám đốc điều hành của Hazelcast- một công ty cung cấp mạng lưới dữ liệu trong bộ nhớ dựa trên JCache. Ông ấy bắt đầu là Giám đốc kỹ thuật của Hazelcast vào đầu năm nay và được thăng chức lên Giám đốc điều hành vào tháng 6. Trước đây, ông từng đảm nhiệm chứ Giám đốc kỹ thuật của Terracotta.

 

SD Time hỏi ông : “Điều gì làm cho ông bắt đầu làm việc với dự án JSR 107 khi mà dự án này đang bị trì trệ trong thời gian khá dài ?”

 

Luck trả lời: Tôi là một người làm bán thời gian ở những nơi mà họ trả tiền cho tôi để thực hiện tài liệu kỹ thuật như nó đã được dự kiến. Tôi thực hiện việc đó và chỉ ra những chỗ không thể hoàn thành hoàn toàn bởi vì tài liệu kỹ thuật chưa hoàn thành. Tôi nói rằng “nếu bạn muốn thuê tôi làm việc cho những dự án tài liệu kỹ thuật này…” Họ sẽ trả lời là không. Nhưng ở Terracotta, một khi tôi giải quyết xong, họ luôn vui vẻ hoàn thành tài liệu kỹ thuật đó. Vì thế trong khi tôi ở Terracotta, tôi đã thực hiện công việc như thế.

 

Khoảng tháng 10 năm 2010, tôi bắt đầu làm việc với hơn 50% lượng thời gian của tôi dành cho dự án đó. Đó là một sự nổ lực lớn hơn so với bất kỳ ai. Chúng tôi đã xem xét kỹ lưỡng một số lập trình viên Oracle.

 

Có đúng là Oracle tạo ra tài liệu kỹ thuật ?

 

Oracle bắt đầu dự án đó vào khoảng 11 hay 12 năm trước đó . Cho dù mục đích ban đầu là gì, nó cũng đã bị mất đi. Cameron Purdy là người dẫn đầu trong công việc tạo ra các tài liệu kỹ thuật, nhưng ông luôn bận rộn, vào thời điểm  hai năm rưỡi trước đó, tôi đã có thời gian. Cameron muốn thực hiện công việc này, vì thế chúng tôi cho rằng chúng tôi sẽ dành ra 50% thời gian của dự án để bắt đầu hoàn thành công việc. Chúng tôi đã bắt đầu và chúng tôi phải chịu sự quản lý của các quy tắc pháp lý với Oracle và sau đó là Software AG.

 

Brian Oliver và tôi đã bắt đầu trở lại. Chúng tôi hoàn thành công việc vào tháng 12 năm 2013, phải mất hai tháng liền để kiểm tra kỹ lưỡng quy trình xuất bản nó.

 

Mọi người có thể học cách sử dụng JCache bằng cách nào?

 

Chúng tôi tạo ra một website có tên JCache.org. Sun đã có một trang web là nơi mà chúng tôi có thể quan sát được việc thực thi các tài liệu kỹ thuật. Việc này cũng vậy. Chúng tôi sẽ bổ sung vào đầy đủ hơn khi mà chúng được phát hành.

 

Một vấn đề khác với JCache, bởi vì nó hoàn toàn mới lạ, nên các nhà cung cấp chỉ thực hiện việc này cách đây vài tuần trước đó, nhiều người hoàn toàn không biết gì về nó. Nó sẽ là một bước đột phá lớn sau JavaOne. Trong tương lai, chủ đề này sẽ thu hút sự quan tâm của nhiều nhà cung cấp hơn. Có thể đây là việc thích thú nhất để bước vào Java EE 8.

 

Bên trong thế giới Java, việc thi hành là có sẵn, nhưng ông có mong việc lưu trữ dữ liệu đặc biệt non-Java có thể thực thi tốt không?

 

Chúng tôi luôn ghi nhớ những điều này khi làm việc với những tài liệu kỹ thuật. Tôi có thể quan sát thấy Memcached hay là NoSQL  thực thi cho các class chính giống như bộ quản lý cache và mục nhập cache, vì thế bạn có thể thực hiện các thao tác cơ bản trong phạm vi thi hành. Nếu bạn muốn tuân theo TCK, bạn phải đến mạng lưới dữ liệu bộ nhớ trong dựa trên Java để có thể tuân theo đầy đủ. Tất cả những ai có giao diện lập trình ứng dụng giữ độc quyền và mọi mặt của JCache thì bạn có thể hoán đổi nó mà không hề thay đổi code.

 

Ông đang tiếp tục dự án gì bên Hazelcast?

 

Chúng tôi đang có một cuộc đầu tư lớn trong năm nay để nâng cao chất lượng đến doanh nghiệp. Đối với phiên bản 3.3, mọi thứ đang ổn định và đạt chất lượng. Chúng tôi đang viết lại tài liệu cho tốt. Theo như hoạch định là không có bất kỳ một lỗi nào xuất hiện.

 

Hoạch định kế tiếp phải đạt được là bộ nhớ cache với mật độ cao. Theo quy luật, một JVM không ăn khớp sẽ làm tạm ngưng 1s trên 1GB (cho mỗi lần thu dọn rác). Một loạt 100GB có thể tạm ngưng khoảng 100s và điều tệ hại này sẽ xảy ra khi nó làm việc. Việc này cũng có nghĩa là chính Java là một ngôn ngữ không thật sự phù hợp để thực hiện tối đa cho phép sự giới hạn tạm ngưng trong bộ nhớ máy tính.

 

Nhập/xuất Non-blocking Java đã được đặt trong khoảng 5 hay 6 năm trước đó trong bộ đệm trực tiếp bên ngoài khu vực Java, vì thế bạn không thể cho tạm ngưng.

 

Những gì mà chúng tôi đang thực hiện ở Hazelcast là những gì mà chúng tôi gọi là mật độ cao. Phương pháp của chúng tôi không phải bỏ đi các khối mà là tạo ra một loạt các mảng byte lớn trên từng khối. Chúng ta có thể  nhận được hàng trăm GB ttrong JVM mà không bỏ đi các khối. Chúng tôi có một bộ phân bố trên từng khối. Chúng tôi muốn kết hợp với JCache để sử dụng đơn giản và  phân bố rộng rãi nhưng cũng phải hỗ trợ nhiều thứ khác. Chúng tôi muốn công việc thuận lợi và cũng có thể làm cho nó có thể lưu trữ ở mật độ cao vì thế bạn có thể có một bộ nhớ cache với kích thước terabyte.

Chia sẻ bài viết ngay

Nguồn bài viết : sdtimes.com