¿Qué bases de datos tienen implementaciones muy eficientes de estructuras de datos de índice R-Tree?

Los algoritmos de R-Tree son igualmente eficientes dentro del ruido de fondo de la implementación. Hay algunos que son un poco más eficientes que otros en teoría, pero las características generales de los algoritmos de R-Tree tienden a dominar en el extremo superior. Los intentos de paralelizar R-Trees en compañías con una reputación de paralelismo competente tienden a tocar fondo alrededor de 20 nodos de cómputo. Las versiones convencionales se aproximan asintóticamente a un rendimiento inutilizable mucho antes. PostgreSQL tiene la mejor implementación de código abierto que conozco; La mayoría de las bases de datos comerciales de alta gama con opciones geoespaciales tienen algoritmos algo más eficientes pero no cualitativamente mejores. Todos exhiben relativamente poca eficiencia y capacidad de distribución.

Los únicos algoritmos de indexación espacial que pueden escalar de manera demostrable a muchos miles de millones de polígonos e ingerirlos a velocidades sostenidas de millones por segundo en sistemas distribuidos son los desarrollados por SpaceCurve (trabajo allí). La eficiencia es extremadamente alta, pero es exagerada si solo administra unos pocos millones de geometrías que se actualizan un par de cientos de veces por segundo. PostgreSQL manejará ese caso muy bien.

Couchbase tiene un árbol R que se distribuye a través del clúster. Está optimizado para carga masiva.

Aquí están los documentos: http://www.couchbase.com/docs/co

Creo que Postgres tiene uno de los índices R-Tree más rápidos. MySQL R-Tree es razonable (y considerablemente más rápido que la intersección de B-Trees).

More Interesting

¿Qué algoritmo es mejor para una variante 4 * 4 * 4 * 4 del último dedo del pie tic-tac considerando un límite de tiempo de 15 segundos?

¿Hay algún número que el binario no pueda producir?

Si recientemente completé un campo de entrenamiento y todo lo que queda para conseguir un trabajo es la prueba técnica, ¿cuántas horas serán suficientes los algoritmos de aprendizaje?

¿En qué consiste el pensamiento algorítmico?

Cómo mejorar en la resolución de problemas para JEE

¿Cómo se escriben los algoritmos de espacio?

Cómo encontrar la cantidad mínima de pasos necesarios para eliminar todos los peones del tablero de ajedrez

¿Es cierto que dado cualquier gráfico con N vértices es un subgrafo inducido del subconjunto gráfico (N). ¿Cómo puedes probarlo o refutarlo?

¿Es cierto que si me vuelvo competente en estructuras de datos y algoritmos, puedo aprender cualquier lenguaje de programación y habilidades técnicas muy rápido?

¿Cómo prueban sus algoritmos sitios como Quora en un pequeño número de usuarios, mientras que el resto no se ve afectado?

¿Por qué la longitud de una matriz siempre es mayor que el índice más grande de la matriz?

Cómo ordenar diagonales de una matriz 2D de manera eficiente

¿Cómo se les ocurrió el algoritmo de MD5?

¿En qué tipos de gráfico DFS y BFS producirán el mismo árbol (misma fuente) independientemente de la secuencia de visitas de los vecinos?

¿Nuestro código genético utiliza algoritmos de compresión?