Tôi đang viết một máy chủ mà tôi mong muốn được điều hành bởi nhiều người khác nhau, không phải tất cả những người mà tôi sẽ liên hệ trực tiếp. Các máy chủ sẽ liên lạc với nhau trong một cụm. Một phần chức năng của máy chủ liên quan đến việc chọn một tập con nhỏ các hàng từ một bảng có khả năng rất lớn. Lựa chọn chính xác những hàng được chọn sẽ cần điều chỉnh và điều quan trọng là người dùng có thể chạy cụm (ví dụ, bản thân mình) để cập nhật tiêu chí lựa chọn mà không cần mỗi quản trị viên máy chủ triển khai phiên bản mới của máy chủ .Viết một ngôn ngữ cụ thể tên miền để chọn các hàng từ một bảng
Chỉ cần viết hàm bằng Python không thực sự là một tùy chọn, vì không ai muốn cài đặt máy chủ tải xuống và thực thi mã Python tùy ý khi chạy.
Điều tôi cần là các đề xuất về cách đơn giản nhất để triển khai Ngôn ngữ cụ thể theo miền để đạt được mục tiêu này. Ngôn ngữ cần phải có khả năng đánh giá biểu thức đơn giản, cũng như truy vấn các chỉ mục bảng và lặp qua các hàng được trả về. Dễ viết và đọc ngôn ngữ là thứ yếu để dễ thực hiện nó. Tôi cũng không muốn viết một trình tối ưu hóa toàn bộ truy vấn, vì vậy một cái gì đó chỉ định rõ ràng các chỉ mục nào để truy vấn sẽ là lý tưởng.
Giao diện sẽ phải biên dịch này sẽ tương tự với khả năng xuất dữ liệu của App Engine: Bạn có thể truy vấn các dãy tuần tự trên bất kỳ chỉ mục nào trên bảng (ví dụ: nhỏ hơn, lớn hơn, phạm vi và truy vấn bình đẳng), sau đó lọc hàng trả về bởi bất kỳ biểu thức boolean nào. Bạn cũng có thể ghép nối nhiều tập kết quả độc lập với nhau.
Tôi nhận thấy câu hỏi này nghe rất giống với tôi đang yêu cầu SQL. Tuy nhiên, tôi không muốn yêu cầu kho dữ liệu sao lưu dữ liệu này là một cơ sở dữ liệu quan hệ, và tôi không muốn chi phí của việc cố gắng tự thực hiện lại SQL. Tôi cũng đang đối phó với chỉ một bảng duy nhất với một lược đồ đã biết. Cuối cùng, không cần tham gia. Một cái gì đó đơn giản hơn nhiều sẽ là thích hợp hơn.
Chỉnh sửa: Mô tả mở rộng để xóa một số quan niệm sai lầm.
Điều này có phải là để triển khai GQL trong App Engine không? : P – wTyeRogers