FrenchTech SAAS
33.5K views | +0 today
FrenchTech SAAS
Les news de l'univers SAAS et FrenchTech
Curated by Mickael Ruau
Your new post is loading...
Your new post is loading...

Popular Tags

Scooped by Mickael Ruau
November 20, 2019 5:34 AM
Scoop.it!

Qu’est-ce qu’une base NoSQL ? Les cas Datastax et MongoDB | Digora

Qu’est-ce qu’une base NoSQL ? Les cas Datastax et MongoDB | Digora | FrenchTech SAAS | Scoop.it
Les bases de données NoSQL sont de plus en plus utilisées mais savez-vous vraiment ce qu’elles renferment ? Prenons les exemples de Datastax (Cassandra) et MongoDB qui figurent parmi les solutions NoSQL les plus utilisées du marché.
No comment yet.
Scooped by Mickael Ruau
November 19, 2019 3:43 AM
Scoop.it!

About | Sphinx

Sphinx is an open source full text search server, designed from the ground up with performance, relevance (aka search quality), and integration simplicity in mind. It's written in C++ and works on Linux (RedHat, Ubuntu, etc), Windows, MacOS, Solaris, FreeBSD, and a few other systems.

Sphinx lets you either batch index and search data stored in an SQL database, NoSQL storage, or just files quickly and easily — or index and search data on the fly, working with Sphinx pretty much as with a database server.

A variety of text processing features enable fine-tuning Sphinx for your particular application requirements, and a number of relevance functions ensures you can tweak search quality as well.

Searching via SphinxAPI is as simple as 3 lines of code, and querying via SphinxQL is even simpler, with search queries expressed in good old SQL.

Sphinx clusters scale up to tens of billions of documents and hundreds of millions search queries per day, powering top websites such as Craigslist, Living Social, MetaCafe and Groupon... to view a complete list of known users please visit our Powered-by page.

And last but not least, it's licensed under GPLv2.

Mickael Ruau's insight:

Performance and scalability

  • Indexing performance. Sphinx indexes up to 10-15 MB of text per second per single CPU core, that is 60+ MB/sec per server (on a dedicated indexing machine).
  • Searching performance. Searching through 1,000,000-document, 1.2 GB text collection that we use for everyday development and testing runs at 500+ queries/sec on a 2-core desktop machine with 2 GB of RAM.
  • Scalability. Biggest known Sphinx cluster indexes 25+ billion documents, resulting in over 9TB of data. Busiest known one is Craigslist, serving 300+ million search queries/day.

Key features

  • Batch and Real-Time full-text indexes. Two index backends that support both efficient offline index construction andincremental on-the-fly index updates are available.
  • Non-text attributes support. An arbitrary number of attributes (product IDs, company names, prices, etc) can be stored in the index and used either just for retrieveal (to avoid hitting the DB), or for efficient Sphinx-side search result set post-processing.
  • SQL database indexing. Sphinx can directly access and index data stored in MySQL (all storage engines are supported), PostgreSQL, Oracle, Microsoft SQL Server, SQLite, Drizzle, and anything else that supports ODBC.
  • Non-SQL storage indexing. Data can also be streamed to batch indexer in a simple XML format called XMLpipe, or inserted directly into an incremental RT index.
  • Easy application integration. Sphinx comes with three different APIs, SphinxAPI, SphinxSE, and SphinxQL. SphinxAPI is a native library available for Java, PHP, Python, Perl, C, and other languages. SphinxSE, a pluggable storage engine for MySQL, enables huge result sets to be shipped directly to MySQL server for post-processing. SphinxQL lets the application query Sphinx using standard MySQL client libary and query syntax.
  • Advanced full-text searching syntax. Our querying engine supports arbitrarily complex queries combining boolean operators, phrase, proximity, strict order, and quorum matching, field and position limits, exact keyword form matching, substring searches, etc.
  • Rich database-like querying features. Sphinx does not limit you to just keyword searching. On top of full-text search result set, you can compute arbitrary arithmetic expressions, add WHERE conditions, do ORDER BY, GROUP BY, use MIN/MAX/AVG/SUM, aggregates etc. Essentially, full-blown SQL SELECT is supported.
  • Better relevance ranking. Unlike many other engines, Sphinx does not solely rely on 30-year-old statistical ranking that only considers keyword frequencies, nor limits you to it. By default, Sphinx additionally analyzes keyword proximity, and ranks closer phrase matches higher, with perfect matches ranked on top. Also, ranking is flexible: you can choose from a number of built-in relevance functions, tweak their weights by using expressions, or develop new ones.
  • Flexible text processing. Sphinx indexing features include full support for SBCS and UTF-8 encodings (meaning that effectively all world's languages are supported); stopword removal and optional hit position removal (hitless indexing); morphology and synonym processing through word forms dictionaries and stemmers; exceptions and blended characters; and many more.
  • Distributed searching. Searches can be distributed across multiple machines, enabling horizontal scale-out and HA (High Availability).
No comment yet.
Scooped by Mickael Ruau
November 14, 2019 5:31 AM
Scoop.it!

Des alternatives aux bases de données relationnelles…

L’avènement du Cloud et la transparence (maitrisée) de ses acteurs nous permet de découvrir quelques-uns systèmes mis en œuvre chez des acteurs comme Amazon ou Google. Les offres de type SimpleDB, Google Data Store nous font certes rêver mais permettent également de découvrir des solutions utilisées en interne des grands sites web avec par exemple la BigTable du côté de Google ou bien Dynamo du côté d’Amazon.

Ces systèmes innovants ont été développés sur mesure pour répondre à des enjeux de charge quasi hors normes (à titre d’exemple, pour eBay, on parlait il y a quelques années de 1 milliard de pages vues et de 44 milliards de requêtes par jour) tout en étant fortement adaptés aux spécificités de chacune de ces plateformes et de leur utilisation : Amazon et eBay – avec des notions de stock, facturation, consultations et recherches de produits… – utilisant leur espace de stockage de façon différente de Google – qui propose un moteur de recherche – .

Ainsi et sous ces contraintes, ces systèmes n’ont eu d’autres choix que d’évoluer, d’innover et ces acteurs ont investi et développé des espaces de stockage surprenants et en rupture avec nos modèles de stockage relationnel : de « simples » structures distribuées dans lesquelles la donnée est globalement stockée sous la forme clé/valeur. Mais des systèmes équivalents ou du moins proposant des concepts similaires sont également disponibles sous la forme d’outils Open Source que l’on peut déployer dans nos SI.

No comment yet.
Scooped by Mickael Ruau
November 11, 2019 5:31 AM
Scoop.it!

Quel système de gestion de bases de données choisir ?

Quel système de gestion de bases de données choisir ? | FrenchTech SAAS | Scoop.it
Comparaison des principaux systèmes de gestion des bases de données: MySQL, MariaDB, Oracle, PostgreSQL, MSSQL, MongoDB, Cassandra et Elasticsearch.
No comment yet.
Scooped by Mickael Ruau
November 6, 2019 4:55 AM
Scoop.it!

Les bases de données épaisses | php-experts.org - développement php et internet

Frédéric Brouard a lancé un pavé dans la marre du développement en expliquant le concept de “bases de données épaisses“. Il va même plus loin en affirmant que ce mode de développement peut assassiner les ORM et les FrameWorks.

Pour rappel, l’ORM (pour “Object-Relational Mapping“) vise à faire correspondre un objet de la couche applicative aux données qu’il exploite dans la base de données. En quelque sorte, on a donc une “base de données orientée objet” puisque, pour faire très simple, chaque champ de la base peut être une propriété d’un objet. Mais selon Frédéric Brouard, le concept mérite qu’on s’y attarde et qu’on le développe.

Dans un applicatif exploitant une base de données épaisse, ce n’est ni le client ni le serveur web qui doivent réaliser le maximum des opérations nécessaires, mais bel et bien la base de données. Outre le fait qu’on obtient une application plus facilement portable (puisque le PHP ne ferait plus ou moins que de l’affichage), on supprime aussi un goulot d’étranglement important en éliminant les aller/retour incessants entre l’applicatif et la base.

Pour prendre un exemple simple, quand on veut calculer une moyenne, on ne rapatrie pas l’ensemble des lignes à prendre en compte avant de faire un calcul à la main, on utilise plutot la fonction AVG() qui exécute le traitement nécessaire et ne renvoie qu’un résultat final.

Avec une base de données épaisse, en utilisant notamment des requêtes SQL avancées, les procédures stockées, et pourquoi pas des User-Defined Functions (UDF) sous MySQL, on peut arriver au même résultat avec la majorité des traitements que nécessitent une application.

En déportant son code métier vers la base de donnée quand cela est possible, non seulement on décharge les serveurs frontaux, mais on améliore aussi la circulation des données dans l’ensemble de l’architecture, puisqu’on ne rapatrie à aucun moment de gros resultsets uniquement pour les traiter. Les liens entre base de donnée et applicatifs sont ainsi préservés.

La base se retrouve donc avec plus d’opérations à réaliser, mais il faut bien le reconnaître: sur un site à fort trafic, à moins qu’on aie beaucoup d’écritures à réaliser, c’est rarement la base – même avec un certain volume d’informations – qui représente le goulot d’étranglement le plus étroit. C’est souvent plutôt le serveur Web et la couche réseau en général qui saturent (J’ai plus souvent vu 1 BDD + 3 Apache en front que le contraire…).

Du coup, le principe d’ORM peut être tué, mais aussi sublimé: une base de données épaisse pourra ne pas embarquer que la partie “stockage” d’un objet (propriétés) mais aussi sa partie “métier” (méthodes). Et si possible, tout le reste, et en restant basé sur du relationnel, donc sans avoir à quitter son SGBDR favori

No comment yet.
Scooped by Mickael Ruau
October 22, 2019 11:27 AM
Scoop.it!

Web Application Testing Checklist: Example Test Cases for Website

While testing the web applications, one should consider the below mentioned checklist.
Mickael Ruau's insight:

Database Testing:

What is Database Testing?

  • In Database testing backend records are tested which have been inserted through the web or desktop applications. The data which is displaying in the web application should match with the data stored in the Database.

To perform the Database testing, the tester should be aware of the below mentioned points:

  • The tester should understand the functional requirements, business logic, application flow and database design thoroughly.
  • The tester should figure out the tables, triggers, store procedures, views and cursors used for the application.
  • The tester should understand the logic of the triggers, store procedures, views and cursors created.
  • The tester should figure out the tables which get affected when insert update and delete (DML) operations are performed through the web or desktop applications.

With the help of the above mentioned points, the tester can easily write the test scenarios for Database testing.

Example Test Cases for Database Testing:

  • Verify the database name: The database name should match with the specifications.
  • Verify the Tables, columns, column types and defaults: All things should match with the specifications.
  • Verify whether the column allows a null or not.
  • Verify the Primary and foreign key of each table.
  • Verify the Stored Procedure:
  • Test whether the Stored procedure is installed or not.
  • Verify the Stored procedure name
  • Verify the parameter names, types and number of parameters.
  • Test the parameters if they are required or not.
  • Test the stored procedure by deleting some parameters
  • Test when the output is zero, the zero records should be affected.
  • Test the stored procedure by writing simple SQL queries.
  • Test whether the stored procedure returns the values
  • Test the stored procedure with sample input data.
  • Verify the behavior of each flag in the table.
  • Verify the data gets properly saved into the database after the each page submission.
  • Verify the data if the DML (Update, delete and insert) operations are performed.
  • Check the length of every field: The field length in the back end and front end must be same.
  • Verify the database names of QA, UAT and production. The names should be unique.
  • Verify the encrypted data in the database.
  • Verify the database size. Also test the response time of each query executed.
  • Verify the data displayed on the front end and make sure it is same in the back end.
  • Verify the data validity by inserting the invalid data in the database.
  • Verify the Triggers.
No comment yet.
Scooped by Mickael Ruau
October 14, 2019 4:07 AM
Scoop.it!

The best solutions for protecting a domain name and website

In 2017, 42% of web users in France fell victim to cybercrime. It is therefore absolutely essential to protect your website and domain name. This slot will cov…
No comment yet.
Scooped by Mickael Ruau
October 1, 2019 11:15 AM
Scoop.it!

Choosing MySQL or PostgreSQL

Choosing MySQL or PostgreSQL | FrenchTech SAAS | Scoop.it
A small comparisons between the most popular open source relational databases
No comment yet.
Scooped by Mickael Ruau
September 30, 2019 6:24 AM
Scoop.it!

TSL: a developer-friendly Time Series query language for all our metrics

TSL: a developer-friendly Time Series query language for all our metrics | FrenchTech SAAS | Scoop.it
At the Metrics team we have been working on time series for several years. From our experience the data analytics capabilities of a Time Series Database (TSDB) platform is a key factor to create value from your metrics. And these analytics capabilities are mostly defined by the query languages they support. 

TSL stands for Time Series Language. In a few words, TSL is an abstracted way, under the form of an HTTP proxy, to generate queries for different TSDB backends. Currently it supports Warp 10's WarpScript and  Prometheus' PromQL query languages but we aim to extend the support to other major TSDB.


To better understand why we created TSL, we are reviewing some of the TSDB query languages supported on OVH Metrics Data Platform. When implementing them, we learnt the good, the bad and the ugly of each one. At the end, we decided to build TSL to simplify the querying on our platform, before open-sourcing it to use it on any TSDB solution. 

Why did we decide to invest some of our Time in such a proxy? Let me tell you the story of the OVH metrics protocol!
No comment yet.
Scooped by Mickael Ruau
September 6, 2019 5:38 AM
Scoop.it!

Understanding database scaling patterns - Kousik Nath

There are lot of articles online describing database scalability patterns, but they are mostly scattered articles —just techniques are defined haphazardly without much context, they are not defined…
Mickael Ruau's insight:

These are some general step by step techniques for database scaling. Although most of the engineers don’t get enough chance to implement these techniques, but as a whole it’s better to get a broader idea about such system which in future may help you to do better system & architecture designing.

In my next articles, I will try to discuss some of the concepts in details.

No comment yet.
Scooped by Mickael Ruau
August 30, 2019 4:29 AM
Scoop.it!

What happened to Hadoop - ARCHITECHT

I spent a lot of time covering Hadoop during my time at Gigaom, and then the evolution of Hadoop and the companies behind it while I was managing this site on a regular basis. So as I watched that…
Mickael Ruau's insight:

For nearly a decade, Hadoop was the poster child for “big data.” It was new, it was open source, it launched an entire market of products and vendors, and it was inspired by — and in many cases, was — the technology behind the world’s largest websites. However, looking back with 20/20 hindsight, it seems clear that Hadoop was never going to live up to its lofty expectations. It was big and new, but released into a world that would soon come to value speed, flexibility, micro, and even known quantities.

No comment yet.
Scooped by Mickael Ruau
July 24, 2019 10:30 AM
Scoop.it!

Performance Tuning SQL Queries | SQL Tutorial - Mode Analytics

Performance Tuning SQL Queries | SQL Tutorial - Mode Analytics | FrenchTech SAAS | Scoop.it
This lesson of the SQL tutorial for data analysis covers how to conduct SQL performance tuning by reducing table size, simplifying joins, and the EXPLAIN command.
No comment yet.
Rescooped by Mickael Ruau from Retail' topic
June 25, 2019 5:49 AM
Scoop.it!

Big Data : Système U automatise à grande échelle le calcul de ses assortiments produits

Big Data : Système U automatise à grande échelle le calcul de ses assortiments produits | FrenchTech SAAS | Scoop.it
Dans la distribution alimentaire, il devient de plus en plus compliqué de proposer le bon assortiment de produits aux clients en tenant compte des évolutions de leurs habitudes de consommation, de leur pouvoir d’achat et des spécificités locales. Système U s’attaque au problème en faisant appel au Big Data et à des algorithmes plus évolués.

Via RetailExploration
No comment yet.
Scooped by Mickael Ruau
November 19, 2019 5:33 AM
Scoop.it!

Sémantiser une base de données relationnelle – Bibliothèque Yves-Le-Gallo (CRBC)

Sémantiser une base de données relationnelle – Bibliothèque Yves-Le-Gallo (CRBC) | FrenchTech SAAS | Scoop.it

La base de données prosopographique des acteurs de la littérature en langue bretonne (projet PRELIB) est renseignée depuis trois ans par des étudiants vacataires de la Faculté des lettres et sciences humaines de Brest. Après nous être attelés en début d’année à un travail de nettoyage des informations géographiques (villes, départements, pays) et d’alignement des lieux et des individus avec les référentiels Wikidata1 et IdRef2, le nettoyage des “professions” est le gros chantier en cours depuis le début de l’été. Ce nettoyage est l’occasion de revoir la structure de la base de données et de se poser des questions sur le sens des informations saisies.

Pour cette opération, nous ne passons pas en revue une à une toutes les fiches des individus mais nous avons exporté en bloc les données de table “profession” et les avons importées dans le logiciel de nettoyage de données OpenRefine3. C’est beaucoup plus simple pour avoir une vue d’ensemble des données.

No comment yet.
Scooped by Mickael Ruau
November 18, 2019 5:17 AM
Scoop.it!

A hitchhiker’s guide to Spring Boot, Elasticsearch, Logstash, Kibana, PostgreSQL and Docker

Ever wondered how to get that ELK stack up and running with your Spring Boot app. Or maybe you started and you gave up on that extra feature. Read along to get up to speed on ELK + Spring.
Mickael Ruau's insight:

My sample Spring Boot app spring-elastic-genie has a REST API that looks for movies in OMDB and saves the results in PostgreSQL. These results then get indexed by Elasticsearch at which point you can visualize the results in Kibana. You should know in advance that this is not a how-to-code tutorial but a high-level architecture overview of using Spring Boot with ELK on-premise, in Docker.

No comment yet.
Scooped by Mickael Ruau
November 14, 2019 4:11 AM
Scoop.it!

Database replication 101

Database replication 101 | FrenchTech SAAS | Scoop.it
In our tour of OVHcloud’s Internal Databases Infrastructure, we showed you what our infrastructure looks like. This post will be about SQL replication, why it matters, and how we use it at OVHcloud. Nodes are not enough: they have to work together. To do that, we rely on a feature called replication to keep data … Database replication 101 Read More »
No comment yet.
Scooped by Mickael Ruau
November 8, 2019 5:28 AM
Scoop.it!

' La fin des bases de données relationnelles '

' La fin des bases de données relationnelles ' | FrenchTech SAAS | Scoop.it

Les serveurs d'applications prennent le relais

Car, en regardant de plus près, les SGBDR représentent ' le ' point faible des architectures à plusieurs niveaux. Risques d'indisponibilité, problèmes de performances, évolutivité trop verticale... Leur mode d'interaction n'est plus du tout en phase avec les standards de développement objet et XML. En outre, les futurs ingénieurs ne sont plus formés au SQL, et encore moins aux formes normales. Mais alors, si la base de données disparaît, qui prend le relais ? Les serveurs d'applications bien sûr. Un exemple : même si dans le monde Java, les premières spécifications des EJB Entity ont échoué pour donner naissance dans la foulée à JDO, d'un côté, et à Hibernate, de l'autre, elles proposent une façon ­ plutôt incompatible ­ de résoudre la différence d'impédance objet/scalaire. Peu importe, la bataille acharnée que se livrent les partisans des deux camps, tous ceux qui ont expérimenté ce mapping objet/relationnel (ORM), dressent un même constat : la différence se fait autour de la gestion du cache.

Mickael Ruau's insight:

 

Un langage d'interrogation objet pour remplacer SQL

Une unification des ORM est attendue en fin 2005. Le cache, lui, restera encore longtemps loin de toute normalisation. Qu'il s'agisse de celui de niveau 1, propre à chaque session (ou transaction) qui assure qu'un objet n'est instancié qu'une seule fois ; ou de celui de niveau 2, qui propose des services de réplication transactionnelle interserveurs, de tolérance aux pannes, de gestion de conflit sur mise à jour concurrente, et, enfin, de tolérance à l'absence de base de données. Ce cache en écriture, réparti sur toutes les instances d'une grappe de serveurs d'applications, supprime de facto le goulet d'étranglement inhérent aux moteurs de persistance classiques. Un langage d'interrogation orienté objet remplace alors SQL ; la distorsion objet/relationnel est éliminée, et avec elle le mapping. Cerise sur le gâteau, on administre les composants exécutables et leurs données depuis une console unifiée. Les conditions optimales pour l'arrivée d'un mode de persistance asynchrone, distribué et à évolutivité horizontale et linéaire, se trouvent donc réunies. Une telle technologie peut donc ­ en théorie ­ prétendre se substituer au SGBDR et le reléguer au rang des bandes magnétiques d'archivage.

No comment yet.
Scooped by Mickael Ruau
November 4, 2019 3:08 AM
Scoop.it!

When should you store data as a JSON string? | The Official SQLizer Blog

When should you store data as a JSON string? | The Official SQLizer Blog | FrenchTech SAAS | Scoop.it

JSON is a popular format for storing and exchanging data on the web. It’s also becoming an increasingly common format for database migration from modern apps (such as MixPanel, SalesForce, and Shopify) over to SQL databases. We know because we see a fair amount of JSON to MySQL conversions �

So we’ve been thinking - when should you store data with JSON and when should you opt for something else, like SQL?

No comment yet.
Scooped by Mickael Ruau
October 18, 2019 11:20 AM
Scoop.it!

What is Data Driven Testing? Learn to create Framework

What is Data Driven Testing? Learn to create Framework | FrenchTech SAAS | Scoop.it
What is Data Driven Testing? Data-driven is a test automation framework which stores test data in a table or spread spreadsheet format. This allows automation engineers to have a single test script wh
Mickael Ruau's insight:

In this tutorial, you will learn

No comment yet.
Scooped by Mickael Ruau
October 14, 2019 4:06 AM
Scoop.it!

Myths & Reality - Choose a DBMS tailored to your use cases

Every professional or individual, wishing to develop an application or create a website, will need to store data in 99% of cases.

There are different solutions on the market: relational database management system, NoSQL, datastore, but not necessarily the user manual to make the right choice!

Our experts will review the main relational databases - Redis, MySQL / MariaDB, PostgreSQL and MongoDB and help you choose the one that best fits your project.

No comment yet.
Scooped by Mickael Ruau
October 1, 2019 11:14 AM
Scoop.it!

Deliver optimal performance while remaining globally compliant

Deliver optimal performance while remaining globally compliant | FrenchTech SAAS | Scoop.it
CockroachDB delivers excellent application performance to distributed users while enabling compliance with regional data regulations like the GDPR.
No comment yet.
Scooped by Mickael Ruau
September 17, 2019 4:00 AM
Scoop.it!

Improve your SQL workload with observability

How to see everything in our perimeter? Better yet, how to make sure everyone can follow the activity of their databases? Developers are not used to watch (closely) their databases performance, how to share this knowledge and make it accessible? This is the challenge we have set ourselves. One year later we can share our experience. Scaling is not always throwing resource on a design issue. What if observability was not just a buzzword, but had a real impact on production?

No comment yet.
Scooped by Mickael Ruau
September 5, 2019 4:02 AM
Scoop.it!

Database Scalability : Vertical Scaling vs Horizontal Scaling

Database scalability means the ability of a system’s database to scale up or down as per the requirement. If the database isn’t scalable, then the processes can slow down or even fail which can be quite detrimental to the business operations. Further, it enables the database to grow to a larger size to support more transactions as the volume of business and/or customer count grows.
There are two types of database scalability :

  1. Vertical Scaling or Scale-up
  2. Horizontal Scaling or Scale-out

Let us look at each of them in detail.

Mickael Ruau's insight:

Pros of Scaling-out

  • Much cheaper compared to scaling-up
  • Takes advantage of smaller systems
  • Easy to upgrade
  • Resilience is improved due to the presence of discrete, multiple systems
  • Easier to run fault-tolerance
  • Supporting linear increases in capacity

Cons of Scaling-out

  • The licensing fees are more
  • Utility costs such as cooling and electricity are high
  • It has a bigger footprint in the Data Center
  • More networking equipment such as routers and switches may be needed
No comment yet.
Scooped by Mickael Ruau
July 25, 2019 3:56 AM
Scoop.it!

Mauvaise nouvelle : les données " anonymisées " ne sont pas anonymes

Mauvaise nouvelle : les données " anonymisées " ne sont pas anonymes | FrenchTech SAAS | Scoop.it
Les données anonymisées ne sont pas du tout anonymes. C'est ce que révèle une étude mené par des chercheurs belges e
No comment yet.
Scooped by Mickael Ruau
June 28, 2019 6:05 AM
Scoop.it!

SQL Fiddle

SQL Fiddle | FrenchTech SAAS | Scoop.it
Application for testing and sharing SQL queries.
No comment yet.