YugabyteDB es una base de datos SQL distribuida transaccional de alto rendimiento para aplicaciones nativas de la nube , desarrollada por Yugabyte. [ 1 ]
Historia
Yugabyte fue fundada por los ex ingenieros de Facebook Kannan Muthukkaruppan, Karthik Ranganathan y Mikhail Bautin. En Facebook, formaron parte del equipo que construyó y operó Cassandra y HBase [ 2 ] [ 3 ] para cargas de trabajo como Facebook Messenger y el Almacén de Datos Operacionales de Facebook . [ 4 ]
Los fundadores se reunieron en febrero de 2016 para construir YugabyteDB. [ 5 ] [ 6 ]
YugabyteDB inicialmente estaba disponible en dos ediciones: comunitaria y empresarial. En julio de 2019, Yugabyte liberó como código abierto las funciones que antes eran comerciales y lanzó YugabyteDB como software de código abierto bajo la licencia Apache 2.0. [ 7 ]
Fondos
En octubre de 2021, cinco años después de la creación de la empresa, Yugabyte cerró una ronda de financiación Serie C de 188 millones de dólares para convertirse en una empresa emergente unicornio con una valoración de 1.300 millones de dólares [ 8 ].
Arquitectura
YugabyteDB es una base de datos SQL distribuida que busca ser fuertemente consistente transaccionalmente en zonas de fallo (es decir, cumplimiento ACID ). [ 20 ] [ 21 ] En términos del Teorema CAP, YugabyteDB es una base de datos consistente/tolerante a particiones (CP). [ 22 ] [ 23 ] [ 24 ] YugabyteDB tiene dos capas, [ 25 ] un motor de almacenamiento conocido como DocDB y la capa de consulta de Yugabyte. [ 26 ]

DocDB
El motor de almacenamiento consta de una RocksDB personalizada [ 26 ] [ 27 ] combinada con algoritmos de fragmentación y equilibrio de carga para los datos. Además, el algoritmo de consenso Raft controla la replicación de datos entre los nodos. [ 26 ] [ 27 ] También hay un gestor de transacciones distribuidas [ 26 ] [ 27 ] y control de concurrencia multiversión (MVCC) [ 26 ] [ 27 ] para admitir transacciones distribuidas. [ 27 ]
El motor también aprovecha un reloj lógico híbrido [ 28 ] [ 26 ] que combina relojes físicos sincronizados de forma aproximada con relojes Lamport para rastrear relaciones causales. [ 29 ]
La capa DocDB no es directamente accesible para los usuarios. [ 26 ]
Capa de consulta de YugabyteDB
Yugabyte tiene una capa de consulta conectable que abstrae la capa de consulta de la capa de almacenamiento inferior. [ 30 ] Actualmente hay dos API que pueden acceder a la base de datos: [ 27 ]
YSQL [ 31 ] es una API compatible con el código de PostgreSQL [ 32 ] [ 33 ] basada en la versión 11.2. Se accede a YSQL mediante controladores estándar de PostgreSQL que utilizan protocolos nativos. [ 34 ] Aprovecha el código nativo de PostgreSQL para la capa de consulta [ 35 ] y reemplaza el motor de almacenamiento con llamadas a la capa de consulta conectable. Esta reutilización significa que Yugabyte admite muchas características, entre ellas:
- Disparadores y procedimientos almacenados [ 33 ]
- Extensiones de PostgreSQL que operan en la capa de consulta [ 33 ]
- Soporte nativo para JSONB [ 33 ]
YCQL [ 36 ] es una API similar a Cassandra basada en la versión 3.10 y reescrita en C++. Se accede a YCQL mediante controladores estándar de Cassandra [ 37 ] utilizando el puerto de protocolo nativo 9042. Además de los componentes básicos de Cassandra, YCQL se complementa con las siguientes características:
- Consistencia transaccional: a diferencia de Cassandra, Yugabyte YCQL es transaccional. [ 38 ]
- Tipos de datos JSON compatibles de forma nativa [ 39 ]
- Las tablas pueden tener índices secundarios [ 40 ]
Actualmente, los datos escritos en cualquiera de las API no son accesibles a través de la otra API; sin embargo, YSQL puede acceder a YCQL utilizando la función de envoltura de datos externos de PostgreSQL. [ 41 ]
El modelo de seguridad para acceder al sistema se hereda de la API, por lo que los controles de acceso para YSQL se parecen a los de PostgreSQL, [ 42 ] y los de YCQL se parecen a los de Cassandra. [ 43 ]
Replicación de clúster a clúster
Además de su funcionalidad principal de distribuir una única base de datos, YugabyteDB tiene la capacidad de replicarse entre instancias de base de datos. [ 44 ] [ 45 ] La replicación puede ser unidireccional o bidireccional y es asíncrona. La replicación unidireccional se utiliza para crear una copia de solo lectura para la descarga de carga de trabajo o en modo de lectura/escritura para crear una copia en espera activa/pasiva. La replicación bidireccional se utiliza generalmente en configuraciones de lectura/escritura y se emplea para configuraciones activas/activas, aplicaciones geodistribuidas, etc.
Herramientas de migración
Yugabyte también proporciona YugabyteDB Voyager, una herramienta para facilitar la migración de Oracle y otras bases de datos similares a YugabyteDB. [ 46 ] [ 47 ] Esta herramienta admite la migración de esquemas, código procedimental y datos desde la plataforma de origen a YugabyteDB.
Véase también
- base de datos en la nube
- SQL distribuido
- Comparación de sistemas de gestión de bases de datos relacionales
- Comparación de sistemas de gestión de bases de datos objeto-relacionales
- computación nativa en la nube
- Sistema de gestión de bases de datos
- Lista de bases de datos que utilizan MVCC
- Lista de sistemas de gestión de bases de datos relacionales
Referencias
- ↑ "Propiedades del sistema YugabyteDB" . DB-Engines . Consultado el 30 de diciembre de 2021 .
- ^ "Karthik Ranganathan" . Universidad de datos . Consultado el 30 de diciembre de 2021 .
- ^ Borthakur, Dhruba; Erupción, Samuel; Schmidt, Rodrigo; Aiyer, Amitanand; Gris, Jonathan; Sarma, Joydeep Sen; Muthukkaruppan, Kannan; Spiegelberg, Nicolás; Kuang, Hairong; Ranganathan, Karthik; Molkov, Dmytro; Menón, Aravind (2011). "Apache hadoop funciona en tiempo real en Facebook". Actas de la Conferencia Internacional ACM SIGMOD 2011 sobre Gestión de Datos . pag. 1071.doi : 10.1145 /1989323.1989438 . ISBN 9781450306614. S2CID 207188340 . Consultado el 15 de enero de 2022 .
{{cite book}}:|website=ignorado ( ayuda ) - ↑ "YugaByte recauda 8 millones de dólares en financiación de serie A" . FINSMES . 2 de noviembre de 2017. Consultado el 30 de diciembre de 2021 .
- ↑ "El CTO de Yugabyte describe una ruta de PostgreSQL hacia la nube distribuida" . VentureBeat . 26 de julio de 2021. Consultado el 31 de diciembre de 2021 .
- ↑ "Yugabyte amplía su servicio de nube empresarial totalmente gestionado con 188 millones de dólares" . VentureBeat . 28 de octubre de 2021. Consultado el 30 de diciembre de 2021 .
- ↑ "Yugabyte amplía las capacidades de bases de datos multirregión y la seguridad de nivel empresarial con YugabyteDB 2.5" . businesswire.com . 12 de noviembre de 2020. Consultado el 30 de noviembre de 2024 .
- ↑ "Otro unicornio de bases de datos SQL nativas de la nube: Yugabyte recauda 188 millones de dólares en financiación de Serie C con una valoración de 1.300 millones de dólares" . ZDNet . Consultado el 12 de enero de 2022 .
- ↑ "YugaByte recauda 8 millones de dólares en financiación de serie A" . Finsmes . 2 de noviembre de 2017.
- ↑ "YugaByte recibe una ronda de financiación Serie A de 8 millones de dólares" . VC News Daily . Consultado el 12 de enero de 2022 .
- ↑ "YugaByte recauda 16 millones de dólares para combinar SQL y NoSQL en una sola base de datos" . Technologies.org . Consultado el 12 de enero de 2022 .
- ↑ "El nuevo software de base de datos de YugaByte recauda 16 millones de dólares para que los desarrolladores puedan migrar a cualquier nube" . TechCrunch . 12 de junio de 2018. Consultado el 12 de enero de 2022 .
- ↑ "Otra base de datos SQL nativa de la nube distribuida globalmente en auge: Yugabyte recauda 30 millones de dólares en financiación de Serie B" . ZDNet . Consultado el 12 de enero de 2022 .
- ↑ "Yugabyte recauda 30 millones de dólares para su base de datos SQL distribuida nativa de la nube" . SiliconAngle . 9 de junio de 2020. Consultado el 12 de enero de 2022 .
- ↑ "Yugabyte recauda 48 millones de dólares para una alternativa de base de datos SQL de código abierto" . VentureBeat . 3 de marzo de 2021. Consultado el 12 de enero de 2022 .
- ↑ "Yugabyte recauda 48 millones de dólares en una ronda de financiación para acelerar la adopción de SQL distribuido en empresas e impulsar la expansión global" . YahoonFinance . Consultado el 12 de enero de 2022 .
- ↑ "La última ronda de financiación de Yugabyte valora el sistema SQL distribuido en 1.300 millones de dólares" . The Register . Consultado el 12 de enero de 2022 .
- ↑ "Otro unicornio de bases de datos SQL nativas de la nube: Yugabyte recauda 188 millones de dólares en financiación de Serie C con una valoración de 1.300 millones de dólares" . ZDNet . Consultado el 12 de enero de 2022 .
- ↑ "La startup de bases de datos de alto rendimiento Yugabyte recauda 188 millones de dólares en una nueva ronda de financiación" . Silicon Angle . 28 de octubre de 2021. Consultado el 12 de enero de 2022 .
- ↑ "Transacciones ACID" . Devopedia . 18 de agosto de 2019. Consultado el 12 de enero de 2022 .
- ↑ "Soluciones TIC para mercados de flexibilidad local" (PDF) . Academia de Studii Economice din Bucuresti . Actas de la Conferencia Internacional IE 2020. Consultado el 15 de enero de 2022 .
- ↑ "YugaByteDB: Una base de datos distribuida nativa de la nube para un almacenamiento de datos altamente escalable" . Open Source Forum . 14 de septiembre de 2020. Consultado el 15 de enero de 2022 .
- ↑ "Objetivos de diseño de Yugabyte" . Yugabyte.com . Consultado el 15 de enero de 2022 .
- ↑ Galić, Zdravko; Vuzem, Mario (2020). "Un núcleo genérico y extensible y un prototipo de LIS consistente, distribuido y resiliente" . ISPRS International Journal of Geo-Information . 9 (7): 437. Bibcode : 2020IJGI....9..437G . doi : 10.3390/ijgi9070437 .
- ↑ "Arquitectura en capas de Yugabyte" . Yugabyte . Consultado el 15 de enero de 2022 .
- 1 2 3 4 5 6 7 Hirsch, Orhan Henrik. "Escalabilidad de las bases de datos NewSQL en un entorno de nube" (PDF) . Universidad Noruega de Ciencia y Tecnología . NYNU Open . Recuperado el 15 de enero de 2022 .
- 1 2 3 4 5 6 Budholia, Akash. "Sistema de monitoreo NewSQL" . Trabajos académicos de la Universidad Estatal de San José . Recuperado el 15 de enero de 2022 .
- ↑ "Reloj híbrido" . Martin Fowler . Consultado el 30 de diciembre de 2021 .
- ↑ "Transacciones distribuidas sin relojes atómicos" (PDF) . Yugabyte . Consultado el 15 de enero de 2022 .
- ↑ "Yugabyte DB 2.0 lanza una base de datos SQL distribuida lista para producción para la migración a la nube" . Integration Developer News . Consultado el 15 de enero de 2022 .
- ↑ "Lenguaje de consulta estructurada de Yugabyte (YSQL)" . Yugabyte . Consultado el 15 de enero de 2022 .
- ↑ "Yugabyte satisface la demanda de los desarrolladores de una compatibilidad integral con PostgreSQL en YugabyteDB 2.11" . BusinessWire . 23 de noviembre de 2021. Consultado el 15 de enero de 2022 .
- 1 2 3 4 "Compatibilidad con PostgreSQL en YugabyteDB 2.0" . Yugabyte . 17 de septiembre de 2019.
- ↑ "Controladores de cliente para YSQL" . Yugabyte .
- ↑ "Por qué creamos YugabyteDB reutilizando la capa de consulta de PostgreSQL" . Yugabyte . 24 de abril de 2020. Consultado el 15 de enero de 2022 .
- ↑ "Lenguaje de consulta en la nube de Yugabyte (YCQL)" . Yugabyte . Consultado el 15 de enero de 2022 .
- ↑ "Controladores de cliente para YCQL" . Yugabyte .
- ↑ "Transacciones ACID" . Yugabyte .
- ↑ "Tipo de datos JSONB de YCQL" . Yugabyte . Consultado el 15 de enero de 2022 .
- ↑ "Índices secundarios de YCQL" . Yugabyte . Consultado el 15 de enero de 2022 .
- ↑ "YugabyteDB: Envoltorio de datos externos de Postgres" . Gruchalski . 8 de noviembre de 2021. Consultado el 15 de enero de 2022 .
- ↑ "Control de acceso YSQL" . Yugabyte . Consultado el 15 de enero de 2022 .
- ↑ "Controles de acceso YCWL" . Yugabyte . Consultado el 15 de enero de 2022 .
- ↑ "Yugabyte amplía las capacidades de bases de datos multirregión y la seguridad de nivel empresarial con YugabyteDB 2.5" . Business Wire . 12 de noviembre de 2020. Consultado el 15 de enero de 2022 .
- ↑ "xCLuster Replication" . Yugabyte . Consultado el 15 de enero de 2022 .
- ↑ "Yugabyte simplifica la migración de bases de datos SQL con YugabyteDB Voyager" . siliconANGLE . 24 de enero de 2023. Consultado el 15 de marzo de 2023 .
- ↑ "Yugabyte se lanza a la migración a la nube" . Techzine . 2 de febrero de 2023. Consultado el 15 de marzo de 2023 .
Enlaces externos
- Sitio web oficial
- yugabyte-db en GitHub
- Consejos de YugabyteDB
- bases de datos en la nube
- Empresas de bases de datos
- Implementaciones de Bigtable
- Software relacionado con bases de datos para Linux
- NewSQL
- computación distribuida
- Tolerancia a fallos
- Empresas de software de Estados Unidos
- Empresas con sede en Silicon Valley