CrateDB : une version Enterprise pour mieux gérer les données de l’IoT

Crate.io affine son modèle économique en proposant une version Enterprise de sa base Open Source. Crate compte profiter de ses capacités SQL pour gérer les données des machines et de l’IoT et s’imposer sur un marché de plus en plus saturé.

Porter l’interrogation et l’analyse de données issues de l’IoT auprès des utilisateurs de SQL. C’est le pari que tente de relever la société Crate.io avec sa base de données CrateDB. Présentée en décembre 2016 dans sa version 1.0, cette base, qui s’inscrit dans la nouvelle génération de technologies dédiées aux traitements des données générées en temps réel et donc en gros volume, débarque aujourd’hui dans sa version 2.0. Surtout, Crate.io l’enrobe désormais d’une offre Enterprise destiné à alimenter financièrement son modèle économique.

CrateDB est d’abord née en Allemagne en 2014 lors de travaux universitaires, avant de gagner, très vite, la côte ouest des Etats-Unis. Financé grâce à des fonds européens à hauteur de 6,5 millions de dollars, Crate.io s’est établi à San Francisco pour attirer les investisseurs locaux, plutôt enclins à financer ce genre de technologies, très centrées sur les capacités à gérer les nouveaux flux de données. Si la base Open Source a aujourd’hui totalisé plus de 1,3  million de téléchargements, il est désormais l’heure d’assoir un modèle économique, même si les clients payants ont déjà frappé à la porte de la société, nous avait confirmé Christian Lutz, le CEO de la société. Rien qu’en 2017, la société compte 30 nouveaux clients payants – 50 utiliseraient CrateDB en production.

Du NoSQL qui se prend pour du SQL

Crate.io définit sa base CrateDB comme une technologie SQL bâtie sur une architecture NoSQL. En fait, CrateDB a pour vocation de proposer des possibilités de requêtages avancées via un langage typé SQL (Crate SQL), mais sur des données multi-formats, le tout supporté par une architecture qui favorise la haute disponibilité et – logiquement – la scalabilité horizontale. Partant de ce postulat, Crate se positionne certes en frontal aux bases relationnelles traditionnelles, mais également aux bases NoSQL, de type Cassandra, MongoDB ou CouchBase, et enfin aux technologies de bases spécialisées dans la gestion des données temporelles (Times-Series), comme par exemple InfluxData.

CrateDB se voit ainsi comme une association du SQL et du Search, capable de traiter de gros volumes de données en temps réel. Pour cela, la technologie s’adosse d’abord à une architecture masterless – comme Cassandra – où chaque nœud d’un cluster CrateDB est indépendant. Cela favorise ainsi la montée en charge du cluster au fur et à mesure de l’ingestion des données – on parle ici de teraoctets de données intégrés via des flux en temps réel. La base s’appuie sur les microservices pour pouvoir justement gérer l’élasticité, coté infrastructure. Avec ce dispositif, les données sont distribuées automatiquement sur les nœuds du cluster via un sharding automatique – et re-shardées en cas de défaillance d’un nœud.

Adaptée aux données temporelles et géo-spatiales

Là où Crate compte faire la différence : sa capacité à absorber tous types de données, grâce à des capacités de schémas dynamiques qui stockent automatique les données en colonnes, quel que soit leur format. Données structurées peuvent ainsi être associées aux données non structurées classiques certes, mais l’intérêt premier de CrateDB est de supporter les spécificités des données temporelles et géo-spatiales, très exploitées dans le monde industriel de l’IoT. Cette capacité à pouvoir appréhender en natif ces types de données, et à les traiter via SQL, font parties des distinguos de CrateDB, qui se voit plus étendu qu’une InfluxDB très spécialisée sur les données time-series.

Pour interroger ces données, CrateDB a fait le choix de Presto, un moteur de requêtage distribué né chez Facebook. Celui-ci permet d’interroger directement des données en volume en SQL. Presto a la particularité d’avoir de fortes capacités de dimensionnement.

Parmi les améliorations de la v2.0, on retrouve logiquement des améliorations côté SQL avec par exemple des possibilités de ré-indexation et de renommage des tables. Mais on note également de nouvelles possibilités pour accroître les performances de traitement des données temporelles : accélération des agrégats et des regroupements de données et nouveau mode d’indexation de ce type de données.

Enterprise Edition : un meilleur pilotage

Mais l’autre point clé est l’arrivée de la  version Enterprise (CrateDB Enterprise Edition). Bâtie sur le socle Open Source, celle-ci vient apporter des outils supplémentaires payants pour mieux gérer la sécurité (gestion des accès et authentification) et apporte des fonctions analytiques poussées ainsi que des capacités étendues en matière de requêtage. Le support du langage R y est par exemple inclus.

Crate.io a enfin souhaité réservé des capacités de monitoring poussées à ses utilisateurs payants. L’édition Enterprise propose un tableau de bord graphique pour contrôler les performances et propose une API Java (JMX) pour se connecter à des outils tiers de monitoring. Le prix démarre à 500 dollars par mois et par cluster.

Pour approfondir sur Base de données

Close