Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Azure Cosmos DB for PostgreSQL ya no se admite para nuevos proyectos. No use este servicio para nuevos proyectos. En su lugar, use uno de estos dos servicios:
Use Azure Cosmos DB for NoSQL para una solución de base de datos distribuida diseñada para escenarios a gran escala con un Acuerdo de Nivel de Servicio (SLA) de disponibilidad del 99,999 %, escalabilidad automática instantánea y conmutación por error automática en varias regiones.
Utiliza la característica de Clústeres elásticos de Azure Database For PostgreSQL para PostgreSQL particionado utilizando la extensión Citus de código abierto.
Requisitos previos
Para seguir este inicio rápido, primero es preciso:
- Cree un clúster en Azure Portal.
- Conéctese al clúster con psql para ejecutar comandos SQL.
- Crear y distribuir tablas con el conjunto de datos de ejemplo.
Consultas distribuidas
Ahora viene la parte divertida de la serie de inicios rápidos: la ejecución de consultas.
Empezaremos por una simple consulta count (*) para comprobar la cantidad de datos cargados en la sección anterior.
-- count all rows (across shards)
SELECT count(*) FROM github_users;
count
--------
264308
(1 row)
Recuerde que github_users es una tabla distribuida, lo que significa que los datos se dividen entre varias particiones. Azure Cosmos DB for PostgreSQL ejecuta automáticamente el recuento en todas las particiones en paralelo y combina los resultados.
Sigamos viendo algunos ejemplos más de consulta:
-- Find all events for a single user.
-- (A common transactional/operational query)
SELECT created_at, event_type, repo->>'name' AS repo_name
FROM github_events
WHERE user_id = 3861633;
created_at | event_type | repo_name
---------------------+--------------+--------------------------------------
2016-12-01 06:28:44 | PushEvent | sczhengyabin/Google-Image-Downloader
2016-12-01 06:29:27 | CreateEvent | sczhengyabin/Google-Image-Downloader
2016-12-01 06:36:47 | ReleaseEvent | sczhengyabin/Google-Image-Downloader
2016-12-01 06:42:35 | WatchEvent | sczhengyabin/Google-Image-Downloader
2016-12-01 07:45:58 | IssuesEvent | sczhengyabin/Google-Image-Downloader
(5 rows)
Consultas más complejas
A continuación se presenta un ejemplo de una consulta más compleja, que obtiene estadísticas por hora para los eventos de push en GitHub. Usa la característica JSONB de PostgreSQL para manipular datos semiestructurados.
-- Querying JSONB type. Query is parallelized across nodes.
-- Find the number of commits on the default branch per hour
SELECT date_trunc('hour', created_at) AS hour,
sum((payload->>'distinct_size')::int) AS num_commits
FROM github_events
WHERE event_type = 'PushEvent' AND
payload @> '{"ref":"refs/heads/master"}'
GROUP BY hour
ORDER BY hour;
hour | num_commits
---------------------+-------------
2016-12-01 05:00:00 | 13051
2016-12-01 06:00:00 | 43480
2016-12-01 07:00:00 | 34254
2016-12-01 08:00:00 | 29307
(4 rows)
Azure Cosmos DB for PostgreSQL combina la eficacia de los almacenes de datos SQL y NoSQL con los datos estructurados y semiestructurados.
Además de ejecutar consultas, Azure Cosmos DB for PostgreSQL aplica los cambios en la definición de datos en las particiones de una tabla distribuida:
-- DDL commands that are also parallelized
ALTER TABLE github_users ADD COLUMN dummy_column integer;
Pasos siguientes
Ha creado correctamente un clúster escalable, ha creado tablas, las ha distribuido, ha cargado datos y ha ejecutado consultas distribuidas.
Ahora está listo para aprender a crear aplicaciones con Azure Cosmos DB for PostgreSQL.