Dans le contexte: Les bases de données sont dans une sorte d’âge d’or en ce moment. Il y a une immense quantité de développement en cours dans et autour de la façon dont nous stockons et accédons aux données. Le monde est obsédé par les « données », et bien que nous ne l’appelions pas le « nouveau pétrole », notre capacité à manipuler et à analyser les données continue de progresser de manière importante. Mais au fond, les bases de données sont des choses assez simples – des référentiels de données.
Toute cette innovation que nous voyons est centrée sur de nouvelles façons d’accéder à ces données (alias le “cloud”) et sur la vitesse à laquelle nous pouvons convertir des quantités massives de données en quelque chose d’utile. Sans vouloir diminuer l’innovation très réelle qui se déroule ici, mais comme le reste de la technologie, elle est motivée par des compromis – la vitesse dans un domaine en ralentit un autre, l’optimisation de la lisibilité et l’écriture ralentit.
Note de l’éditeur:
Auteur invité Jonathan Goldberg est le fondateur de D2D Advisory, un cabinet de conseil multifonctionnel. Jonathan a développé des stratégies de croissance et des alliances pour des entreprises des secteurs de la téléphonie mobile, des réseaux, des jeux et des logiciels.
Une grande partie des progrès que nous constatons dans les bases de données et autour d’entreprises comme Snowflake et Data Dogs provient de l’application de réseaux plus rapides et d’un calcul plus puissant, qui rendent tout cela possible. Compte tenu de notre point de vue sur les changements en cours autour du calcul, nous avons récemment exploré les domaines où les puces personnalisées pourraient avoir un impact ici. Il semble probable que toutes ces avancées dans le traitement des données dans le cloud se prêtent à des puces à usage très spécial.
Le but d’une puce est d’exécuter un logiciel aussi efficacement que possible. Dans le passé, tout cela pouvait être accompli avec un processeur, en particulier lorsqu’Intel ouvrait la voie sur la loi de Moore. Il y avait toujours un processeur plus rapide qui pouvait résoudre tout problème de traitement.
Il y avait toujours un processeur plus rapide qui pouvait résoudre tout problème de traitement.
Même avant le ralentissement de la loi de Moore, certaines applications se distinguaient par le besoin d’une meilleure solution. Le meilleur exemple était les graphiques. Les GPU pouvaient simplement exécuter des opérations graphiques plus efficacement qu’un CPU, et ainsi, les GPU sont devenus monnaie courante.
Une grande partie de cet avantage provenait du fait que les GPU étaient simplement agencés différemment des CPU. Au début des GPU, les algorithmes de gestion des graphiques étaient assez courants pour la plupart des utilisations (c’est-à-dire les jeux). Et les GPU ont été conçus à l’origine pour reproduire les calculs dans ces algorithmes. Vous pourriez presque regarder l’architecture d’un GPU et mapper des blocs individuels aux différents termes de ces équations. Ce procédé est maintenant reproduit dans de nombreux autres domaines.
Pour les bases de données, il existe des similitudes considérables. Les bases de données sont déjà assez “simplifiées” dans leur conception, elles sont fortement optimisées dès le départ. Quelqu’un devrait être capable de concevoir une puce qui reflète directement la base de données. Le problème est que les “bases de données” ne sont pas une seule chose, ce ne sont pas seulement des feuilles de calcul géantes de lignes et de colonnes. Ils se présentent sous différentes formes – certains stockent les données en lignes, d’autres en colonnes, d’autres sous forme de regroupement d’objets hétérogènes (par exemple, des photos, des vidéos, des tweets sarcastiques, etc.). Une puce conçue pour l’un d’entre eux ne fonctionnera pas aussi bien pour l’un des autres.
Maintenant, pour être clair, les entreprises conçoivent depuis longtemps des puces pour optimiser les données. Les fabricants de stockage comme Western Digital et Fujitsu sont des composants importants sur notre liste d’entreprises locales de silicium. Ils fabriquent des puces qui optimisent leur stockage sur le matériel de ces entreprises. Mais nous pensons que les choses vont aller plus loin, où les entreprises commencent à concevoir des puces qui fonctionnent à une couche au-dessus de la gestion des bits physiques.
Un grand sujet dans les bases de données est le compromis entre l’analyse et le stockage des données. Certaines bases de données ne sont que de grands référentiels de données qui ne doivent être consultés qu’occasionnellement, mais les données qui doivent être analysées en temps réel sont bien plus importantes. Idéalement, cela implique de conserver les données en mémoire à proximité du processeur prenant ces décisions en temps réel. Sans entrer trop dans les détails, il existe plusieurs approches différentes que l’on pourrait adopter pour améliorer l’utilité de la base de données dans le silicium. Chacun d’eux est une entreprise qui attend de devenir une licorne.
Ce travail est déjà en cours. Des entreprises comme Fongible sont déjà loin sur cette voie. Bon nombre des problèmes que les grandes sociétés Internet résolvent avec leurs puces locales s’attaquent à ce problème d’une manière ou d’une autre. Nous devons imaginer que Google a quelque chose d’encore plus avancé dans cette voie en préparation.
Nous pensons que ce domaine est important non seulement parce qu’il offre d’importantes opportunités commerciales. Il met également en évidence la manière dont le calcul évolue. Toutes les avancées que nous avons mentionnées en matière d’innovation reposent sur l’hypothèse d’améliorations continues du calcul. Les méthodes traditionnelles de réalisation de ces avancées étant désormais considérablement ralenties, toute cette innovation dans les logiciels va stimuler – elle va nécessiter – l’innovation dans le silicium pour fonctionner.