postgresql-performance
全部标签 在将数据添加到PostgreSQL之前,我需要一些非常简单的存储来保存数据。目前,我有从客户端收集数据的网络应用程序。这个数据不是很重要。应用程序从一个客户端收集大约50kb的数据(简单字符串)。它将每小时收集大约2GB数据。这些数据不需要尽快,即使丢失也没什么。有没有现成的方案先在内存中存一段时间(~1小时),然后全部写入PostgreSQL。我不需要以任何方式查询它。我可能会使用Redis,但是Redis对于这个任务来说太复杂了。我可以自己写一些东西,但是这个工具必须处理许多存储数据的请求(可能每秒大约100个)并且现有的解决方案可能更好。谢谢,德米特里
我每秒处理大量插入Postgres数据库(以及大量读取)。几天前我听说了Redis并开始考虑首先为Redis发送所有这些INSERTS,以避免每秒在Postgres中进行大量打开/插入/关闭操作。短时间后,我可以将来自Redis的这些数据分组到一个INSERTSQL结构中,然后在Postgres中一起运行它们,只打开一个连接。该系统存储GPS数据,在线map实时读取这些数据。对那种情况有什么建议吗?谢谢!! 最佳答案 我不知道为您的用户提供近乎实时的数据对您的情况有多重要。但是从上面列出的内容来看,我没有看到任何无法通过Postgr
假设我想存储用户偏好...像这样简单的东西:{"favoriteColor":"green","bestFriends":["Tom","Jenny","Horton"]}将其存储在Redis缓存中(针对读取进行了优化)的最佳、最高效的方法是什么?假设UserId=123注意:下面我使用Redis文档的方式来表示各种结构。参见here.就在根中的简单、扁平、键/值对?user-123-favoriteColor=green(thisisaSTRINGtype)user-123-bestFriends=1)"bestFriends"(SETTYPE)2)"Tom"3)"Jenny"4)"
我正在为一个项目使用ApacheUsergrid。但是我的柜台有一个严重的问题。更新计数器可能需要30秒。所以我想使用usergrid计数器以外的东西。我的问题是:是否有我可以使用分层计数器的redis、postgresql或memcached结构。或者是否有任何其他工具可用于该目的?谢谢大家 最佳答案 Redis中没有这样的计数器,但是你可以用lua脚本实现一个。HierarchicalCounter每次您增加一个名为"first.second.third"的计数器时,它会自动增加3个计数器:"first.second.third
目前我在一个存在严重过度嵌入问题的项目中工作,因为在一个集合中只有3个对象(数组)位于其中,其中几乎包含应用程序业务模型的70%(我们收到了这个来自其他开发团队的项目,是一个完整的挑战)。另一个问题是,该应用程序使用实时跟踪地理定位,并持续使用此集合。我的提示是,我完全确定数据库服务器中的过载问题和应用程序在几个小时内变慢的原因是过度嵌入。我们认为解决方案是建立一个新的数据库模式(理解MongoDB是无模式的,但不是限制),尝试用低引用规范化树集合中的这三个对象(像关系模型一样模拟外键),但是,例如,您建议使用旧(当前)数据库设计和制作数据仓库,只进行读取查询,只迁移用户数据或将所有数
我正在开发一个ASP.NETWebApi项目。对于我系统的一部分,我需要一个键值存储来存储字符串。键和值都是字符串(尽管它们可以是长字符串)。键和值都是唯一的。最初,我开始使用Redis,问题是我需要在store中不仅通过key而且通过value进行搜索(判断value是否存在,不需要返回keyin这个情况)。基本上,我有两个选择,第一个是为我的项目使用默认数据库-PostgreSQL。否则我应该选择另一个支持上述操作的键值存储。你会建议哪个选项?如果是第二个,哪家店支持这样的操作?哪个选项在性能方面更好? 最佳答案 您需要的不是另
您好,我正在尝试从Mysql迁移到Postgresql。我有一个查询一些记录的SQL文件,我想将其放入带有大量插入的Redis中。在Mysql中,它在这个示例命令下工作;sudomysql-h$DB_HOST-u$DB_USERNAME-p$DB_PASSWORD$DB_DATABASE--skip-column-names--raw我找到了Postgresql语法的test.sql文件。SELECT'*3\r\n'||'$'||length(redis_cmd::text)||'\r\n'||redis_cmd::text||'\r\n'||'$'||length(redis_key
我在尝试运行我的docker容器时遇到错误。我需要将postgres和redis连接到我的服务器应用程序。dockerpullpostgresdockerrm-fsyda-postgresdockerrun-p30203:5432--namesyda-postgres-ePOSTGRES_PASSWORD=passwordPOSTGRES_USER=rootPOSTGRES_DB=sydapostgresdockerpullredisdockerrm-fsyda-inmemorydockerrun-d-p30204:6379--namesyda-inmemoryredisredis-s
我目前有一个场景,我们使用REDIS在散列集HSET中存储字符串field-value对。使用散列集而不是集合的最初原因是在GUI搜索栏中使用HSCAN检索记录比仅仅使用SCAN更容易,因为它更容易获取要在COUNT字段中使用的散列长度。我在Redis文档中读到,GET和HGET命令的执行时间复杂度为O(1),但我的团队成员认为,如果我存储所有单个键中的值,然后它基本上在HGET期间返回整个哈希,而不是我需要的单个field-value。所以对于一个虚构但相似的例子:我有一个Redis实例,其中包含一个名为users的哈希集。散列集有150,000个field:value对userna
我有一个在AWSECS的linux容器中运行的ASP.NetCoreWebAPI。此API主要从Redis获取数据,但如果不存在,则会回退到数据库(我们设计了99.99%的数据都在Redis缓存中)。我有一个相当高的负载,大约1-2KRPS(当然对你们中的一些人来说可能是中到小;-)。此API通过MGET(20-60之间的任意位置)为每个请求查找多个键。一切都是异步的,没有同步代码或等待或其他容易发生死锁的代码。RPS上升得越多,事情就会变得越来越慢。我还尝试了PreserveAsyncOrder=false,但情况似乎更糟。我认为我的Redis服务器(位于Elasticache中)不