Bonjour,
Je fais parti d'un laboratoire de recherche en génétique, et nous faisons du séquençage. Notre but est en gros de repérer des mutations dans l'ADN.
Nous avons des milliards de données qui nécessitent de l'organisation, sous forme d'une base de données afin de pouvoir rechercher des données précises.
Par exemple:
- Combien d'individus partage cette mutation?
- Trouver toutes les mutations communes aux patients atteint de leucémie, qui ne sont pas présentes chez les individus sains ou atteins d'une autre maladie.
les requêtes seraient bien plus complexe, mais suivront ce chema général. Moins de 5 requêtes tourneraient a la fois sur le serveur (windows7, 24go ram, i7, system sur ssd, bdd sur du raid5)
J'estime que ma base de données pourraient atteindre 500Go, pour environ 1 milliards de données. Ceci pourrait doubler d'ici la fin de l'année.
Je cherche a privilégier la rapidité des sélections. Pour cela, je ne prevois pas d'insertion. Les insertions se feront en vidant, et recréant la base de données.
Mes choix actuelles sont:
- une seule table myisam (pas de normalisation = pas de perte de temps sur les jointures. Ma plus grande interrogation sur le gain de temps)
- des champs les plus petits possibles (bon sens... gain de place)
- null non autorisé (gain de place)
- des index sur tous les champs pour accélérer les requêtes (pas d'insertion a faire)
Voici un extrait de my.ini:
On ma déconseillé d'utiliser les clusters de mysql.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 query_cache_size=1G table_cache=256 tmp_table_size=5G max_heap_table_size=5G thread_cache_size=8 myisam_max_sort_file_size=5G myisam_sort_buffer_size=2G key_buffer_size=5G key_cache_age_threshold=172800 sort_buffer_size=200M
Est ce que tout cela vous semble aberrant ?
Y a t il des éléments clés a améliorer?
Merci de m'avoir lu
Zwiter
Partager