我想扩展通过web服务接口提供的远程数据库的数据模型。数据可以通过HTTP请求,并以JSON (示例请求)的形式传递。还支持其他格式。
// URL of the example request.
http://data.wien.gv.at/daten/wfs?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:BAUMOGD&srsName=EPSG:4326&outputFormat=json&maxfeatures=5JSON回答的第一个对象。
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": "BAUMOGD.3390628",
"geometry": {
"type": "Point",
"coordinates": [
16.352910973544105,
48.143425569989326
]
},
"geometry_name": "SHAPE",
"properties": {
"BAUMNUMMER": "1022 ",
"GEBIET": "Strassen",
"STRASSE": "Jochen-Rindt-Strasse",
"ART": "Gleditsia triacanthos (Lederhülsenbaum)",
"PFLANZJAHR": 1995,
"STAMMUMFANG": 94,
"KRONENDURCHMESSER": 9,
"BAUMHOEHE": 11
}
},
...我的想法是在我自己的服务器上扩展数据模型(例如添加一个文本字段),从而以某种方式反映数据库。我无意中进入了CouchDB及其基于文档的体系结构,这种体系结构很适合处理上述那些JSON对象。现在,我要求提供关于如何复制外部数据库(最初是)和定期复制的建议。
你认为CouchDB是个不错的选择吗?我还想到了MongoDB。如果可能的话,我想避免构建一个完整的Rails后端来设置复制。你有什么建议吗?
发布于 2012-04-26 00:01:06
如果远程数据库是静态的(数据不会改变),那么它可以工作。你只需要找到一种迭代所有记录的方法。一旦发现了这一点,剩下的就很简单了: 1)查询数据;2)将响应存储在本地数据库中;3)根据需要进行修改。
如果远程数据发生变化,您将遇到许多困难(每隔一段时间就必须以相同的方式重新同步)。相反,我要做的是创建一个只包含新字段和对原始数据的引用的本地数据库。也就是说,当您从远程服务请求数据时,您还会查看本地db中是否有某些内容,并在处理最终结果之前合并这两者。
https://stackoverflow.com/questions/10283766
复制相似问题