我想收集用户的地址,以便我可以在Google地图上绘制它们.我知道我需要存储他们的地址的纬度/经度值,我可以从谷歌地图API获得.
我正在寻找有关如何划分各种地址部分并将其保存到数据库的建议.我经常看到这样的事情:
不过,Google对这些地址组件进行了不同的分解.例如,请参阅:http://maps.googleapis.com/maps/api/geocode/json?address = 1600+Amphitheatre + Parkway,+ Mountain + View,+ CA&_sensor = false
我不确定Google地址组件的哪些部分等同于Web表单中常见的部分(例如,administrative_area_level_1始终是州/地区/省?).我想尽可能以原子方式存储各种地址组件,以便在以后显示地址信息时能够获得最大的控制权.
注意:我也打算存储formatted_address我认为在某些情况下可能有用的内容.
那么,我应该在我的数据库中存储什么?
有没有办法在没有数据库管理系统的情况下使用MYSQL数据库.比如离线使用表而不在机器上安装数据库管理系统..如果有,请指点我正确的方向?谢谢!
首先,我为我对NoSQL架构(以及一般数据库)的潜在浅薄理解深表歉意,所以请耐心等待.
我正在考虑使用mongoDB来存储与UUID相关的资源.资源可以是诸如大图像文件(几十兆字节)之类的东西,因此将它们存储为文件并仅在我的数据库中存储链接以及相关元数据是有意义的.还有增加灵活性来解耦资源文件的实际位置,因此如果需要,我可以使用不同的第三方来存储文件.
现在,一个描述资源的文档大约是1kB.起初我除了几十万个数据库大小相当于几百兆字节的资源文档,很容易适应服务器内存.但是将来我可能需要将其扩展到数十万个文档的数量级.这将是几十千兆字节,我不能再挤进服务器内存了.
只有索引仍然适合内存大约一千兆字节或两千兆字节.但是,如果我理解正确,每次我在UUID上查找时都必须从磁盘读取.在这种情况下,传统的关系数据库是否可以从mongoDB获得显着的速度优势?
奖金问题:有没有一种既定的方式来做我想要实现的目标?:)
我想将真实姓名,电子邮件和任何其他个人身份信息保存在我的主应用程序数据库和其他数据库/加密文件中.而且我很好奇是否有针对此的最佳实践解决方案,或者我是否完全在寻找某些东西.
我有一些想法如下:
我想知道这是否是正确的方法,如果是这样,密钥存储和验证等等.
某些高度敏感的信息(付款信息,用户名,密码等)应该加密后才能保存到我的数据库中.
之后,必须解密该信息,以便从持久性中获取并在以后使用.
如果我使用AES256加密帐单地址,我仍然需要在持久性中存储AES256密钥/密码.
如果加密进入数据库的信息背后的重点是保护该信息,以防有人攻击我的数据库,并且我存储密钥以解密数据库中的相同信息,那么加密数据的重点是什么首先?
如果有人侵入我的数据库,他们将能够找到持久密钥并解密他们想要的任何加密数据.
我在这里错过了什么吗?
作为CouchDB的新手,只想讨论构建数据库和文档的最佳实践.我的背景来自MySQL,所以仍然试图处理文档驱动的数据库.
为了概述系统,我们有几个客户,每个客户都使用单独的数据访问一个单独的网站.每个客户端数据将拆分为自己的数据库.每个数据库都会不断插入数据(每5分钟,至少一年),用于记录事件.每5分钟创建一个带有时间戳和值的新文档.我们还需要存储一些有关客户端的信息,这是一个永远不会更新的单个文档(如果是这样,很少).
下面是一个客户端数据库的外观示例...
{
"_id": "client_info",
"name": "Client Name",
"role": "admin",
....
},
{
"_id": "1199145600",
"alert_1_value": 0.150
"alert_2_value": 1.030
"alert_3_value": 12.500
...
...
},
{
"_id": "1199145900",
"alert_1_value": 0.150
"alert_2_value": 1.030
"alert_3_value": 12.500
...
...
},
{
"_id": "1199146200",
"alert_1_value": 0.150
"alert_2_value": 1.030
"alert_3_value": 12.500
...
...
},
etc...literally millions more of these every 5 minutes...
Run Code Online (Sandbox Code Playgroud)
我的问题是,这种结构是否正确?我知道CouchDB是一个平面文件数据库,但数据库中将有数百万个时间戳/值文档.我可能只是挑剔,但它似乎对我来说有点混乱.
谢谢!
我正在使用Node.js模块node_redis:
var data = [ {'name':'matt', 'id':'333' } , {'name':'Jessica','id':'492'} ] ;
//Initialize Redis
var redis = require('redis'),
rclient = redis.createClient(settings.redis.port, settings.redis.host,{pass:settings.redis.password});
rclient.auth(settings.redis.password, function(){});
rclient.on("error", function (err) {});
//OK, insert the data into redis
rclient.set("mykey", data);
Run Code Online (Sandbox Code Playgroud)
当我这样做时set,我得到一个错误,为什么?
{ stack: [Getter/Setter],
arguments: undefined,
type: undefined,
message: 'ERR wrong number of arguments for \'set\' command' }
Error: ERR wrong number of arguments for 'set' command
Run Code Online (Sandbox Code Playgroud) 我想知道是否可以定期运行C#控制台或ASP.NET应用程序.
我的目的是每月自动执行以下步骤:
1)查询一个源数据库.
2)取在(1)的查询的结果和操作通过使用它们LINQ和C# ,例如通过检查一定的值已经存在于目标数据库.
3)存储在目标数据库中导出的数据.
应用程序必须在Windows Server 2008上运行,源数据库在SQL 2005 Server中,目标数据库在SQL 2008 Server中.
我试图创建一个例如SSIS包,但它不能完成这项工作,因为我无法添加任何逻辑.
有人有什么建议吗?
我的Microsoft Access数据库(FE/BE)已经超出了限制,我将导入更多数据,因此Access不再是我的正确选择.我将切换到MySQL(不是SQL Server)作为一个很好的选择,但我想知道什么用作MySQL数据库的前端.我应该保留我的Access VBA代码和前端(使用ODBC连接)还是......?不需要高性能.
背景信息:我使用C#进行编码,使用Microsoft SQL Server进行数据库编写.
我在谷歌上找不到这个主题,所以我在这里问:在执行查询后我是否应该总是关闭与数据库的连接?
我在两种解决方案之间徘徊(可能存在更好的解决方案......):
在查询之前打开连接,然后在SQL查询之后立即关闭它
或者在我的应用程序开始时打开连接,并在每个SQL查询之前检查连接是否仍在运行,并在需要时重新打开它.
在过去,我使用了第一个解决方案,但我发现打开一个新连接可能需要相当长的时间(尤其是通过3G连接到我的局域网的VPN连接),这会减慢我的应用程序.这就是为什么我决定采用第二种解决方案(在这种情况下,如果我们忘记超时,我的连接应该总是向上),并注意到一些更好的性能.
我是否需要在申请结束时关闭连接,还是可以忘记它?
database ×10
c# ×2
mysql ×2
anonymize ×1
couchdb ×1
e-commerce ×1
encryption ×1
google-maps ×1
hipaa ×1
javascript ×1
mongodb ×1
ms-access ×1
node.js ×1
nosql ×1
offline ×1
redis ×1
security ×1
sql ×1
sql-server ×1
triggers ×1