IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Décisions SGBD Discussion :

Stockage d'une grande quantité de données


Sujet :

Décisions SGBD

  1. #1
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2013
    Messages : 36
    Points : 87
    Points
    87
    Par défaut Stockage d'une grande quantité de données
    Bonjour,

    Je travaille actuellement sur un projet qui se base sur une grande quantité de données spatiales - e.g. 550GB pour l'instant, composé pour la plupart de nombres -.
    Mon application étant temps réel - e.g. visualisation des données dans un espace 3D -, je dois pouvoir accéder a ces données de manière assez rapide.

    J'ai déjà fais plusieurs recherches pour trouver une architecture qui puisse répondre a mes besoins.
    Je me suis donc renseigné sur des sujets comme le big data, la BI, la data science, etc. Mais la plupart des informations que j'ai trouve concerne le management d'entreprise ...

    Je suis un peu perdu parmi tout ça.
    Je pose donc la question a des spécialistes de la gestion de données: comment trouver ce que je cherche (keyword, etc) ?

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    mai 2002
    Messages
    20 982
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 20 982
    Points : 49 805
    Points
    49 805
    Billets dans le blog
    1
    Par défaut
    Si vous voulez stocker des données spatiales il faut que le SGBD ait la possibilité de stocker de telles données sous forme d'objets spatiaux et non sous forme de nombre sinon vous aurez des performances catastrophiques (en effet il faut pouvoir indexer les objets spatiaux… L'indexation des nombres eux-mêmes n'ayant AUCUN intérêt !)… Cela s'appelle un SIG.
    Dans les SGBD Relationnels, c'est implémenté sous le terme de "Spatial Data" et la plupart du temps par des colonnes de type GEOMETRY et GEOGRAPHY au standard OGC. Cela permet de représenter des objets euclidiens en 2D ou 3D ou spatiaux (globe terrestre) et d'invoquer directement des requêtes SQL mêlant les méthodes spatiales. Je décris cela en comparant MS SQL Server et PostgreSQL dans cette série d'articles :
    https://blog.developpez.com/sqlpro/p...on_geographiqu
    https://blog.developpez.com/sqlpro/p..._geographiqu_2

    Pour les objets euclidiens, les coordonnées des points ont au minimum 2 dimensions (X et Y) voire 3 (Z) et même une 4e (M).

    Les objets spatiaux sont déclinées en différentes familles dont la base est le point, la ligne brisée, le polygone, la courbe circulaire, la courbe composée et le polygone courbe. Les familles complexes contiennent le multipoint (nuage de points), la multi ligne brisée, le multi polygone et finalement la collection géométrique.

    En ce qui concerne la volumétrie 500 Go de données ce n'est pas énorme pour un bon SGBDR, c'est à peine une grosse base, sachant qu'on trouve couramment des bases de plusieurs dizaines de To chez Oracle ou SQL Server.

    Oracle hélas possède un format propriétaire de stockage et de manipulation totalement en dehors du standard OGC et en sus le module est fort cher et il faut le payer en plus de la licence du SGBDR

    SQL Server inclus le spatial dans toutes les éditions et toutes les versions y compris gratuite, mais dans ce dernier cas la limitation de 10 Go par base, sera difficile à contourner (on peut faire 32760 bases de données de 10 Go avec la version express, mais le cache reste toujours de 1 Go). Mais si c'est pour faire du web autant prendre l'édition WEB qui n'est vraiment pas cher (mode locatif).

    PostgreSQL n'est pas mal non plus pour le spatial, mais hélas n'est pas vraiment taillé pour de grosses bases (parallélisme embryonnaire, partitionnement inepte, administration du stockage inexistant…).

    Tout dépend de ce que vous voulez faire… Précisez un plus si vous voulez plus d'aide !

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2013
    Messages : 36
    Points : 87
    Points
    87
    Par défaut
    Merci SQLPro,

    J'ai réfléchi plus longuement a mon problème. Et je ne pense pas avoir besoin de base de donnée spatiale.
    Je m'explique..

    Mon objectif est de rendre ma carte temps réel.
    L'utilisation d'une base de donnée me demandera de faire plusieurs traitements avant que ces données soit exploitables par mon soft:

    1. Envoi de la requête au serveur
    2. Recherche des positions visibles par la camera dans la base de donnée
    3. Formatage des données sous forme de dictionnaire
    4. Retour du résultat de la requête au client
    5. Formatage de la donnée pour que celle-ci soit exploitable par le soft (SIMDification, etc)


    Or, certain de ces traitements ne varient pas d'une exécution a l'autre et les données de la base ne changent pas.
    Je vais donc pré-traiter les données. C'est a dire:
    • Pre-calculer la position de chaque objets dans un espace euclidien - e.g. a l'heure actuelle, la position est représenté dans un espace propre au spatial -.
    • Batcher toutes les positions sous forme de secteurs de X km^2
    • Chaque secteurs seront stockes dans des fichiers séparés et déjà formatés pour une exploitation par mon soft - e.g. peut être en binaire -. 1 secteur = 1 fichier avec les positions de tous les objets présent dans le secteur.


    Avec cette solution, lorsque je souhaiterai accéder/afficher un secteur particulier, je n'aurai qu'a demander le fichier correspondant. Cela supprime l’étape 2, 3 et 5 de la base de donnée.
    Cette solution ne sera effectué que sur les positions, qui est la donnée la plus utilisé par mon soft, afin de limiter la taille de chaque fichiers.
    Cette solution est inadapté pour des recherches d'objets spécifiques.

    Pour les recherches d'objets et tout ce qui est informations non primordiales - e.g. température a la surface, photo, etc -. sur l'objet céleste, je vais devoir utiliser une base de donnée.
    La base de donnée devra donc comporter un champs pour chaque objets céleste, comprenant le secteur et les informations de celui-ci - e.g. la représentation mémoire que je pourrais en faire est donc une liste -.
    Une base de donnée 1D serait donc plus approprié ...

    Qu'en penses-tu ?

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    16 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 16 681
    Points : 33 736
    Points
    33 736
    Billets dans le blog
    14
    Par défaut
    La base de donnée devra donc comporter un champs pour chaque objets céleste, comprenant le secteur et les informations de celui-ci - e.g. la représentation mémoire que je pourrais en faire est donc une liste -.
    Une base de donnée 1D serait donc plus approprié ...
    Les champs sont à la campagne ou dans les formulaires, pas dans les tables SQL qui ne sont composées que de colonnes et de lignes.

    Chaque objet céleste aura plutôt une ligne dans une table. Et encore, il serait peut-être judicieux de répartir les données dans plusieurs tables. Je vous invite à prendre connaissance d'un autre projet évoqué dans le forum Schéma.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    mai 2002
    Messages
    20 982
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 20 982
    Points : 49 805
    Points
    49 805
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Kraane Voir le message
    … Or, certain de ces traitements ne varient pas d'une exécution a l'autre et les données de la base ne changent pas.
    Je vais donc pré-traiter les données. C'est a dire:
    • Pre-calculer la position de chaque objets dans un espace euclidien - e.g. a l'heure actuelle, la position est représenté dans un espace propre au spatial -.
    • Batcher toutes les positions sous forme de secteurs de X km^2
    • Chaque secteurs seront stockes dans des fichiers séparés et déjà formatés pour une exploitation par mon soft - e.g. peut être en binaire -. 1 secteur = 1 fichier avec les positions de tous les objets présent dans le secteur.


    Avec cette solution, lorsque je souhaiterai accéder/afficher un secteur particulier, je n'aurai qu'a demander le fichier correspondant. Cela supprime l’étape 2, 3 et 5 de la base de donnée.
    Cette solution ne sera effectué que sur les positions, qui est la donnée la plus utilisé par mon soft, afin de limiter la taille de chaque fichiers.
    Cette solution est inadapté pour des recherches d'objets spécifiques.

    Pour les recherches d'objets et tout ce qui est informations non primordiales - e.g. température a la surface, photo, etc -. sur l'objet céleste, je vais devoir utiliser une base de donnée.
    La base de donnée devra donc comporter un champs pour chaque objets céleste, comprenant le secteur et les informations de celui-ci - e.g. la représentation mémoire que je pourrais en faire est donc une liste -.
    Une base de donnée 1D serait donc plus approprié ...

    Qu'en penses-tu ?
    stupide !

    Pourquoi réinventer la roue ? Un index spatial est spécialement conçu a cet effet et découpe automatiquement l'espace en fragment appelés "pavages" en math (tesselation en anglais) pour retrouver tous les objets proches d'un point particulier très rapidement, avec l'avantage considérable de permettre de préciser n'importe quel "rayon" de proximité….

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  6. #6
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2013
    Messages : 36
    Points : 87
    Points
    87
    Par défaut
    Chaque objet céleste aura plutôt une ligne dans une table. Et encore, il serait peut-être judicieux de répartir les données dans plusieurs tables. Je vous invite à prendre connaissance d'un autre projet évoqué dans le forum Schéma.
    Merci CinePhil, ce fut un projet très intéressant a étudier

    stupide !

    Pourquoi réinventer la roue ? Un index spatial est spécialement conçu a cet effet et découpe automatiquement l'espace en fragment appelés "pavages" en math (tesselation en anglais) pour retrouver tous les objets proches d'un point particulier très rapidement, avec l'avantage considérable de permettre de préciser n'importe quel "rayon" de proximité….
    Ça a le mérite d’être clair.
    Je vais donc suivre ton avis et partir sur une base de donnée.
    Etant un projet personnel sans moyen financiers, je vais partir sur PostgreSQL pour commencer - e.g. en n'y renseignant que les positions des astres -.

    Si la taille de la base commence a poser problème, j'envisagerai de passer sur SQLServer.

  7. #7
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    mai 2002
    Messages
    20 982
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 20 982
    Points : 49 805
    Points
    49 805
    Billets dans le blog
    1
    Par défaut
    Si c'est un projet personnel, vous pouvez utiliser SQL Server version Developper qui est gratuite, mais attention, pas de mise en production.
    Pour la production, la version WEB peut être intéressante (faible coût en mode SPLA).

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  8. #8
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    novembre 2006
    Messages
    7 667
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : novembre 2006
    Messages : 7 667
    Points : 18 085
    Points
    18 085
    Par défaut
    Citation Envoyé par Kraane Voir le message
    J'ai déjà fais plusieurs recherches pour trouver une architecture qui puisse répondre a mes besoins.
    Je me suis donc renseigné sur des sujets comme le big data, la BI, la data science, etc. Mais la plupart des informations que j'ai trouve concerne le management d'entreprise ...
    histoire de déclencher des polémiques,je pense que ce sera une option inévitable car une solution sur le Cloud donnera de bien meilleurs performance plutôt que d'installer un SGBDR sur son poste de travail.
    Je ne sais pas si j'ai le droit de faire de la pub mais autant mettre les petits plats dans les grands,voilà une solution

  9. #9
    Membre éprouvé
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2009
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : mars 2009
    Messages : 552
    Points : 1 060
    Points
    1 060
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    Pourquoi réinventer la roue ? Un index spatial est spécialement conçu a cet effet et découpe automatiquement l'espace en fragment appelés "pavages" en math (tesselation en anglais) pour retrouver tous les objets proches d'un point particulier très rapidement, avec l'avantage considérable de permettre de préciser n'importe quel "rayon" de proximité….
    Pour le coup, sa problématique ressemble plus à du stockage de nuage de point 3D type LIDAR qu'à du stockage de point SIG...

    Je ne sais pas ce qu'il en est avec SQL server, mais souvent, les indexes spatiaux dédiés aux géométries SIG (Point, LineString, Polygon, etc.) indexent uniquement des rectangles 2D et les points sont déguisés en rectangle 2D...

    Par ailleurs, niveau stockage, si le malheureux venait à stocker une GEOMETRY pour chaque étoile, il y a de bonnes chances que ce soit loin d'être efficace en terme de stockage. Je ne sais pas comment c'est stocké au niveau SQL server, mais au niveau PostGIS, le X, Y et Z de chaque étoile sera accompagné d'un srid, de la bbox et de flags.

    Du coup, à sa place, je regarderais plutôt autour des solutions LIDAR/POINT CLOUD qu'autour des solutions GEOMETRY OGC/SIG (peut-être l'extension pointcloud de postgis) et ça me choque pas trop qu'il soit tenté de construire un index spatial à la main en regroupant ses étoiles en fonction d'une grille 3D.

    Après, je commencerais surtout par me poser une API d'accès qui me permette de commencer à expérimenter et d'optimiser par la suite. Je serais curieux de voir si une approche octree https://star-server.example.com/{k}/{x}/{y}/{z}.bin fait l'affaire et si ça permet de faire de la généralisation par regroupement d'étoile pour avoir une vue d'ensemble... En première approche, il est peut-être suffisant de soulever le capot des exemples en ligne de diffusion LIDAR sur des globes et d'adapter :


  10. #10
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2013
    Messages : 36
    Points : 87
    Points
    87
    Par défaut
    Bonjour,

    Si c'est un projet personnel, vous pouvez utiliser SQL Server version Developper qui est gratuite, mais attention, pas de mise en production.
    Pour la production, la version WEB peut être intéressante (faible coût en mode SPLA).
    Oui, j'ai finalement opte pour la version développeur de SQL Server.
    Du moins pour l'instant, ça me permettra d’expérimenter gratuitement toute les features de ce SGBD.

    histoire de déclencher des polémiques,je pense que ce sera une option inévitable car une solution sur le Cloud donnera de bien meilleurs performance plutôt que d'installer un SGBDR sur son poste de travail.
    Je ne sais pas si j'ai le droit de faire de la pub mais autant mettre les petits plats dans les grands,voilà une solution
    Je te remercie pour ton complément de solution Mat.M.
    Malheureusement, étant un projet personnel, je n'ai pas les moyens de louer un serveur Amazon pour les besoins de mon logiciel...
    J'y réfléchirai plus tard, si celui ci est utilisé ..

    Pour le coup, sa problématique ressemble plus à du stockage de nuage de point 3D type LIDAR qu'à du stockage de point SIG...
    C'est bien cela.
    Chaque objets célestes n'est qu'un point parmi tant d'autre. Cela forme effectivement un nuage de points.

    L’inconvénient avec les systèmes de gestion de points clouds, c'est qu'il ne permettent pas de traiter un point en particulier mais un ensemble de ces points - e.g dit patch -.
    Or, mon logiciel doit permettre la recherche d'une étoile en particulier, donc d'un point...

  11. #11
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    août 2006
    Messages
    16 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2006
    Messages : 16 681
    Points : 33 736
    Points
    33 736
    Billets dans le blog
    14
    Par défaut
    Il existe plusieurs logiciels d'astronomie disponibles sous Linux.
    J'ai installé et parcouru Celestia et Stellarium. On y navigue à la souris en faisant défiler le ciel et on peut pointer un astre pour avoir ses caractéristiques.
    C'est probablement un catalogue réduit mais c'est assez fluide. Je ne sais pas si ces logiciels sont open-source (en tout cas ils sont libres puisque distribués avec Mageia Linux) ni de quelle manière les données sont stockées par le logiciel.
    Une piste à explorer peut-être...
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  12. #12
    Membre régulier
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mars 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : mars 2013
    Messages : 36
    Points : 87
    Points
    87
    Par défaut
    Hello CinePhil,

    J'ai déjà jeté un coup d’œil dans les soft que tu as cité.

    Leur catalogues est en effet assez limité:
    - Celestia comptabilise 200 milles étoiles
    - Stellarium comptabilise 200 millions d’étoiles

    Nous somme donc assez loin des 1,7 milliard dont je parle.

    Tous deux n'utilise aucun système de stockage spécifique.
    Les données des étoiles sont écrites dans des fichiers .txt ou XML qu'ils chargent au démarrage.

  13. #13
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    février 2010
    Messages
    4 058
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : février 2010
    Messages : 4 058
    Points : 7 279
    Points
    7 279
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par SQLpro Voir le message
    stupide !

    Pourquoi réinventer la roue ? Un index spatial est spécialement conçu a cet effet et découpe automatiquement l'espace en fragment appelés "pavages" en math (tesselation en anglais) pour retrouver tous les objets proches d'un point particulier très rapidement, avec l'avantage considérable de permettre de préciser n'importe quel "rayon" de proximité….

    A +
    Y'a quand même un élément qui me semble important de vérifier…

    Un index spatial sert en effet avant tout à localiser des points autour d'un point donné.


    Donc si je veux tous les objets célestes à moins de 10 UA de la terre, c'est parfait.

    Seulement, dans notre cas ici, j'ai l'impression qu'il s'agit de récupérer tout ce qui est visible dans une direction avec un angle d'ouverture donné.
    Ainsi, si je regarde en l'air, j'ai beau être à moins de 2 mètres de la Terre, mon index ne doit pas la retourner, en revanche, il doit me ramener le petit astéroïde perdu qui se balade à 500 milliards d'UA aux confins de la galaxie ou de l'univers (j'ai aucune notion de la taille de notre galaxie)

    Une instruction spatiale permet-elle de faire ce type de recherche ?

    Une solution serait éventuellement de faire une projection de tous les astres sur une sphère "ciel" entourant la Terre.

    Ainsi, on pourrait utiliser des index tels que tu les décrits pour visualiser ce qui est dans le champ de vision depuis la Terre quand on regarde dans une direction donnée.
    Mais à ce moment on ne stocke plus des points à leur position, mais simplement des coordonnées type latitude/longitude + une distance.

    Mais attention en revanche, cette solution, qui me semble loin d'être stupide, ne fonctionne que si on n'a qu'un seul point de vue : la Terre.

    Si on commence à vouloir regarder à quoi ressemble la Voie Lactée depuis Alpha Centauri (à priori, ça doit pas beaucoup changer d'ici vu que c'est "à côté") ou depuis Sagittarius A ou de l'autre bout de la galaxie (ou même d'en dehors) alors cette solution ne fonctionne plus du tout.
    On ne jouit bien que de ce qu’on partage.

  14. #14
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    mai 2002
    Messages
    20 982
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 20 982
    Points : 49 805
    Points
    49 805
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Une solution serait éventuellement de faire une projection de tous les astres sur une sphère "ciel" entourant la Terre.
    C'est exactement cela.
    Ainsi, on pourrait utiliser des index tels que tu les décrits pour visualiser ce qui est dans le champ de vision depuis la Terre quand on regarde dans une direction donnée.
    Mais à ce moment on ne stocke plus des points à leur position, mais simplement des coordonnées type latitude/longitude + une distance.

    Mais attention en revanche, cette solution, qui me semble loin d'être stupide, ne fonctionne que si on n'a qu'un seul point de vue : la Terre.
    Oui, c'est exact !
    Si on commence à vouloir regarder à quoi ressemble la Voie Lactée depuis Alpha Centauri (à priori, ça doit pas beaucoup changer d'ici vu que c'est "à côté") ou depuis Sagittarius A ou de l'autre bout de la galaxie (ou même d'en dehors) alors cette solution ne fonctionne plus du tout.
    Il n'y a pas de solution magique, car les index nécessite des données "statiques" et non des référentiels bougeant les coordnnées de manière dynamqie.

    mais ce n'est pas un problème il suffit alors d'effectuer une translation spatiale.

    Dans tous les cas, les objets spatiaux doivent être référencés par rapport à une origine et dans ce cas l'origine devrait être la terre par facilité, à moins que ce ne soit la lune, si un tel programme est installé au hilton moon interstellar dont la construction a commencée en l'an de grâce 2026 !!!

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Envoyer une grande quantité de données dans un xml via http
    Par qdaemon_fr dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 03/03/2009, 10h51
  2. Manipulation d'une grande quantité de données
    Par sebastyen dans le forum Langage
    Réponses: 1
    Dernier message: 10/11/2008, 16h54
  3. Réponses: 11
    Dernier message: 23/09/2008, 16h39
  4. Une grande quantité de données sur Oracle 8i?
    Par bliml dans le forum Oracle
    Réponses: 13
    Dernier message: 01/03/2007, 12h45
  5. Réponses: 1
    Dernier message: 10/01/2007, 16h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo