我正在写一个服务器,我希望由许多不同的人经营,而不是我将直接联系的所有人.服务器将在群集中相互通信.服务器功能的一部分涉及从可能非常大的表中选择一小部分行.选择哪些行的确切选择将需要一些调整,并且重要的是运行集群的人(例如,我自己)可以更新选择标准而不让每个服务器管理员部署新版本的服务器.
简单地用Python编写函数实际上并不是一个选项,因为没有人会想要安装一个在运行时下载并执行任意Python代码的服务器.
我需要的是关于实现域特定语言以实现此目标的最简单方法的建议.该语言需要能够进行简单的表达式评估,以及查询表索引和迭代返回的行.易于编写和阅读语言是易于实现的第二步.我也不想编写整个查询优化器,所以明确指定要查询的索引是理想的.
必须编译的接口与App Engine数据存储区导出的功能类似:您可以查询表上任何索引的顺序范围(例如,小于,大于,范围和相等的查询) ,然后通过任何布尔表达式过滤返回的行.您还可以将多个独立的结果集连接在一起.
我意识到这个问题听起来很像我要求SQL.但是,我不想要求支持此数据的数据存储区是关系数据库,并且我不希望尝试自己重新实现SQL的开销.我也只处理一个具有已知模式的表.最后,不需要加入.更简单的东西更可取.
编辑:扩展描述以消除一些误解.