En la primera y segunda parte de esta serie de blogs, vimos algunas diferencias básicas entre la escalabilidad de las bases de datos relacionales y no relacionales. En esta publicación, le mostraré cómo usar estas bases de datos correctamente y también le informaré sobre algunas empresas conocidas que usan estas bases de datos.
Base de datos relacional
En la primera parte de esta serie de blogs, hablé sobre las propiedades de ACID. Estas propiedades son importantes para mantener una estrecha integración transaccional. Hay algunas industrias como la banca, el comercio minorista, etc., donde cada transacción requiere propiedades ACID. En las transacciones bancarias, si se acredita una cuenta, se debe debitar otra. La actualización parcial nunca está permitida, ya que afectará la integridad de los datos; en este escenario se utilizan Oracle, SQL Server, MySQL y otros RDBMS.
Base de datos no relacional (NoSQL DB)
En la primera parte de esta serie de blogs, también hablé sobre las propiedades BASE. Estos son importantes para mantener la coherencia de los datos en todos los nodos de una base de datos. Cualquier información que no requiera una estricta integridad de los datos se puede almacenar en una base de datos NoSQL. Por ejemplo, el contenido de un sistema de motor de búsqueda se puede almacenar en una base de datos no relacional, porque es fácil recuperar información rápidamente. Un buen ejemplo de un sistema de motor de búsqueda es Google. Google generalmente almacena sus páginas web en caché en una capa web que se actualiza periódicamente. Estas bases de datos pueden almacenar terabytes de datos históricos (por ejemplo, transacciones de tarjetas de crédito de un banco, durante los últimos 5 años) en un entorno distribuido. Es fácil analizar y extraer datos en una base de datos NoSQL utilizando el software de almacenamiento de datos SQL-Like HIVE. Las bases de datos NoSQL se pueden usar para almacenar volúmenes masivos de datos no estructurados y también son adecuadas para el análisis de texto.
He enumerado algunas de las principales organizaciones que utilizan estas bases de datos:
Bases de datos relacionales
Servidor SQL:LG Electronics, MySpace, Hoteles Hilton.
ORÁCULO:British Telecom, MasterCard, Reliance Ltd.
MySQL:Facebook, Twitter, LinkedIn. Facebook usa MySQL para almacenar la interacción del usuario, como actualizaciones de estado, acciones compartidas, Me gusta, etc.
Bases de datos no relacionales
CouchBase:LinkedIn, AdAction.
Cassandra:Facebook, Twitter, Digg.
MongoDB:LinkedIn, Pearson.
Neo4j:Cisco, eBay, etc.
Como ha visto, empresas como Facebook, Twitter y LinkedIn utilizan bases de datos tanto relacionales como no relacionales, según sus requisitos.
Ahora permítanme regresar a la primera parte de esta serie y responder las siguientes preguntas:
¿Son las bases de datos relacionales capaces de manejar big data?
¿Las bases de datos relacionales son escalables?
¿Las bases de datos relacionales son adecuadas para los requisitos de datos de la era moderna? ¿Como el análisis en tiempo real, que trata con datos no estructurados?
La respuesta a todas estas preguntas es un rotundo “SÍ”. Las bases de datos relacionales no van a desaparecer en este mundo social. Según la naturaleza y la complejidad del conjunto de datos, se debe utilizar la base de datos adecuada. Tanto las bases de datos relacionales como las no relacionales tienen sus propias ventajas y desventajas. La configuración correcta del entorno puede hacer uso de bases de datos relacionales y no relacionales de manera adecuada, como lo han hecho Facebook, Twitter y LinkedIn.