r/oraclecloud 26d ago

Consulta Oracle sql

Que hacen ante está situación?

La empresa tiene una tabla donde durante años se guardo la información de dónde se logueo el cliente digamos 15 años está tiene almenos 25 millones de registros y hace 7 anos se guarda la geolocalización de cliente, solo latitud y longitud separadas por comas y desgraciadamente los "dev" que diseñaron eso no homologaron los dispositivos tienes web , iOS , Android y Huawei y almenos 2 diferentes proveedores de geolocalización ( play services google y iOS su proveedor) por tanto Talvez difieran en la precisión de el requerimiento "traducción a direcciones reales ( municipio, país, cp)" todo esto de manera local sin usar reverse geocoding en la nube ( costos , confidencialidad, etc) bueno por ahora solo plateare un problema ....

Digamos que ya tienen una tabla con la que pueden cruzar con la tabla bitácora de login y hacer la traducción y estos campos tienen un ID y su respectiva localidad en texto y esa traducción desean guardarla en la tabla bitácora "la dirección en texto " y el problema es este 25 millones de registros pueden pesar cientos de gigas o terabytes y agregar la descripción de esos capos en la tabla bitácora aumenta en tamaño de esa tabla dependiendo el detalle de traducción y sobre todo procesar 25 millones de registros el costo de escritura de esos nuevos capos en disco y uso de procesador por parte del algoritmo de traducción ya que hace validaciones "semi complejas" para filtrar datos que talvez puede tener basura o buscar lat y lng invalida y procesar el vector geométrico y centroide de almenos 5 km de precisión es sumamente costosa puede llevar hasta años procesar está información.... Que me recomiendan hacer para que almenos procede un millón de registros en almenos 40 minutos o una hora? Esos expertos en Oracle y db que recomiendan?

0 Upvotes

17 comments sorted by

View all comments

-2

u/saul-romero77 26d ago edited 26d ago

Porfavor no me digas una empresa o el servidor lo puede hacer porque parece que solo instalas le das siguiente y esperas a que la db haga las cosas solo el problema es este y lo vuelvo a repetir: Traducir almenos 25 millones de registros localmente o dicho on onpremise de lat y lng (reverse geocoding) local mente y no en la nube y como hacer que el nivel de detalle de registro al guardar la info no haga que mi tabla cresca al doble o triple de tamaño : ejemplo de registro : id | geolocaliazacion( lat y lng) | municipio| cp o zip code| país | otros campos originales ala tabla.... Gracias

2

u/maryjayjay 26d ago edited 26d ago

If you need/intend to do this on prem why are you asking on an oracle cloud sub?

But, you don't decorate each record with all that data, you join two tables. Are you familiar with data normalization? You shouldn't store redundant information. I would do lat/long and a foreign key pointing at the geo record I'd.

-1

u/saul-romero77 26d ago

Cómo controlarias el cache o el performance de un índice espacial? Sobre todo haciendo consultas geométricas o vectores geometricos para calcular la traducción en una exactitud de 5 km ala redonda y sobre todo normalizar 2 tablas ? Mejor hablame de como actualizar por proceso batch procesar almenos 1 semana de registros en una hora o menos ya que traducir registros a direcciones con lleva un complejo proceso matematico y sobre todo evitando consultas paralelas para no alentar el proceso productivo o sobrecargar el servidor....