Oráculo

Oracle no es la base de datos más popular, pero es la más famosa. Aunque se puede argumentar que el más popular. Vea cómo contar . Si solo observa la cantidad de empresas, MySQL es la base de datos más popular: es bastante buena y completamente gratuita :)

Pero también se puede considerar de otra manera. Si hay una empresa con un millón de clientes que usa Oracle y 5 empresas con cien clientes que usan MySQL, entonces Oracle tiene un millón de clientes y MySQL solo 500 personas.

En general, si toma a las grandes empresas que tienen dinero y observa qué DBMS eligen, entonces aproximadamente un tercio de todas las empresas del mundo están sentadas en Oracle. Algo como esto.

Como programador, es más probable que en el futuro trabaje en Oracle DBMS que en MySQL. Hay un excelente video en Internet que demuestra cómo ha cambiado la popularidad de DBMS en los últimos 20 años.

mysql

El segundo más popular entre todos los DBMS es MySQL. Y es el primero en popularidad entre todos los DBMS gratuitos. Ahora entiende por qué aprendemos SQL de su ejemplo. La exageración es exageración, y las empresas son bastante conservadoras en la elección de la infraestructura.

En principio, ya hemos hablado de MySQL. Una vez fueron comprados por Sun , luego por Oracle . Que, bueno, es muy difícil llamar una corporación de bondad.

Son ellos quienes, después de la adquisición de Sun, intentan constantemente que Java sea de pago.

Sí, Sun poseía tanto Java como MySQL antes de que Oracle los comprara.

Este hecho y la reputación de Oracle asustaron un poco a los desarrolladores de MySQL, quienes decidieron bifurcar el proyecto MySQL y llamarlo MariaDB.

MariaDB es en realidad un clon de MySQL con algunas peculiaridades de implementación que le permiten sortear los matices de las patentes y licencias.

Sin embargo, Oracle tampoco es tonto. Para evitar que los clientes y desarrolladores se filtren a MariaDB, Oracle continúa financiando el desarrollo y desarrollo de MySQL, que continúa siendo gratuito.

Y para sentarse en dos sillas, se lanzó un MySQL Enterprise pago para clientes corporativos , que no es diferente de MySQL Community Edition , pero cuyas licencias se adaptan mejor a los negocios.

postgresql

Otro DBMS interesante es PostgreSQL (pronunciado "postgres cue").

Este es otro DBMS gratuito que ha ido ganando popularidad muy rápidamente en los últimos años. Aunque todavía está lejos de MySQL.

PostgreSQL se centra principalmente en el trabajo distribuido. Sus puntos fuertes son:

  • Mecanismos de replicación y transacciones fiables y de alto rendimiento
  • Sistema extensible de lenguajes de programación incorporados: PL SQL, PL JS, PL Python, …
  • herencia de tablas
  • Capacidad para indexar objetos geométricos (en particular, geográficos)
  • Compatibilidad integrada con datos semiestructurados en formato JSON con la capacidad de indexarlos
  • Extensibilidad (la capacidad de crear nuevos tipos de datos, tipos de índices, lenguajes de programación, módulos de extensión, conectar fuentes de datos externas)

¿Sabes por qué se llama así? Así fue como fue...

Hace unos 50 años, a principios de los 70, la Universidad de Berkeley comenzó a desarrollar su propio DBMS relacional y lo llamó Ingres .

A principios de los 80, el profesor Michael Stonebreaker abandonó el proyecto y decidió escribir su propio DBMS con blackjack y cortesanas. Él y sus alumnos comenzaron a escribir su propio DBMS, al que llamaron simplemente Post Ingres , abreviado como Postgres en el futuro .

Y como el nombre Postgres no significaba nada para nadie, se decidió agregarle el sufijo SQL. Así resultó PostgreSQL, que inmediatamente perdió la doble S, y pasó a escribirse como PostgreSQL. Pero dice el nombre, debe leerlo como PostgresQL.

No SQL

Si está interesado en las bases de datos, definitivamente ha oído hablar de las bases de datos NoSQL . Me apresuro a molestarlo: NoSQL es puramente un nombre comercial , y SQL está ahí. Solo está truncado.

Cómo se ve? Imagina una bonita página web escrita en HTML, CSS y JavaScript... que se abrió en un navegador de 1995. Funciona con un 10 % de CSS y no es compatible con JavaScript en absoluto. Y este nuevo estándar simplificado se llama... NoHtml .

Por ejemplo, es posible que NoSQL no admita JOIN entre tablas, y luego debe emular esto en el nivel del código Java en el programa o almacenar todos los datos de las tablas relacionadas en una tabla enorme.

Y si en el caso de NoHtml parece que retrocedimos hace 20 años, entonces en el caso de NoSQL, la reversión ocurre alrededor de 40 años.

Tomemos, por ejemplo, la base de datos Cassandra NoSQL que Facebook usa para almacenar los datos de miles de millones de usuarios. De hecho, lo desarrollaron y luego lo publicaron como un proyecto OpenSource.

Comencemos con lo más interesante: todo el código DBMS está escrito en Java . El código C++ probablemente se ejecutaría más rápido, pero habría más errores. Y el código Java es más fácil de mantener y desarrollar.

El formato general de las solicitudes a Casandra DBMS parece muy familiar:

  SELECT columns  
  FROM table 
  WHERE condition
  GROUP BY columns 
  ORDER BY sorting 
  LIMIT quantity

Como puede ver, SQL está ahí. ¿Sabes lo que falta aquí? ¡ ÚNETE ! Solo puede seleccionar datos de una tabla :)

Aquí hay una cita de la documentación oficial:

No puede realizar uniones en Cassandra . Si ha diseñado un modelo de datos y descubre que necesita algo como una unión, tendrá que hacer el trabajo en el lado del cliente o crear una segunda tabla desnormalizada que represente los resultados de la unión por usted.