IntervalTree从数据库查询?

时间:2017-01-30 19:03:27

标签: algorithm

为了清楚起见,当我说IntervalTree时,我指的是这个数据结构:https://en.wikipedia.org/wiki/Interval_tree

我想构建一个可查询的RIPE数据库表示。我希望,在给定IP的情况下,检索其RIPE记录。我该怎么做?

我有以下方式的原型。使用https://pypi.python.org/pypi/intervaltree,解析RIPE文件,将“123.123.123.123”等IP字符串编码为整数,使用它来使用上述模块构建一个intervaltree。

问题是这个结构太大而无法容纳在内存中。是否有一些适合使用的数据库,它具有对间隔树等本地支持?

1 个答案:

答案 0 :(得分:0)

您的需求由R-Tree索引涵盖。它们比您想象的更通用,因为它们旨在处理多个维度。但是你可以在一个维度上实现它们,它们将允许有效的范围搜索。

很多数据库都有它们,但会将它们称为不同的东西。例如,MySQL将其称为SPATIAL索引,而PostgreSQL将它们作为一种GiST索引实现。