- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在几个地方读到一些数据库在查询数据库时使用布隆过滤器来查找匹配项。在我的示例中,我使用的是 Postgresql,它是这些数据库之一。
当谈到使用 Redis 实现布隆过滤器时,我的问题出现了,它有一个模块,允许您在输入集合中的成员时使用布隆过滤器。 (请记住查找过程的复杂性,而不是从磁盘中检索该值)
现在使用 Redis 的好处是将值存储在内存中,当尝试检索该值时,它比在 rdbms 中查找它的性能更高,因为该值存储在磁盘上。
在我的示例中,假设我正在检查用户名是否已经存在,是否仍然值得在内存解决方案中使用带有布隆过滤器的 Redis 与仅使用 Postgresql 查询进行检查?
我的流程是这样的:CheckIfUserExsits() // using Redis bloom filter
If TRUE then confirm with rdbms // do to x% probability of false positive nature of bloom filter
If rdbms == MATCH then reply with "User does exist"
Else don't check rdbms at all // do to 0% probability of false negative nature of bloom filter
这个流程应该更加预先,因为您没有查询 rdbms 并通过返回 false
的内存查找快速执行此操作更有效率。
但是,由于我只关心成员是否存在,因此可以提高回复 false
的性能。 ,Redis这一步真的有用吗?因为如果 Postgresql 已经在使用布隆过滤器查询表,那么性能应该已经比较快了。
最佳答案
I have read in a couple of places that some databases use bloom filters for finding a match when querying a database. In my example I'm using Postgresql which is one of those databases.
关于postgresql - 如果您的数据库已经使用了布隆过滤器,仍然值得使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61362030/
我是一名优秀的程序员,十分优秀!