Cassandra SQL Batches y Mapas

Cassandra SQL Batches y Mapas

  • Orquestación
6 min de lectura Actualizado Dec 12, 2018

Puntos clave: Cassandra SQL Batches and Maps explica comandos SQL y tipos de datos en Cassandra, destacando sus similitudes con el SQL tradicional. Cubre el shell de Cassandra SQL, tipos de datos complejos como colecciones y mapas, y el utiliza de lotes para transacciones atómicas.

  • Introduce comandos y ejemplos del shell SQL de Cassandra.
  • Explica tipos de datos complejos: colecciones, mapas y conjuntos.
  • Detalla la utiliza de lotes para operaciones atómicas en aplicaciones.

Son demasiados comandos SQL y tipos de datos como para analizarlos todos en una sola entrada de blog, así que aquí veremos algunos.

Para entender los ejemplos a continuación tú deberías tener cierto conocimiento de SQL normal, es decir, Oracle u otro RDBMS, ya que Cassandra SQL está casi igual. Y para Obtén con Cassandra, tú puedes leer lo que escribió aquí. Mira eso, incluso si ya tú conoces y has instalado Cassandra, así que tú puedes usar SQL desde ahí para configurar una tabla e índice con los que Comienza aquí.

Cassandra SQL Shell

Primer paso, para abrir la línea de comandos SQL de Cassandra, introduce: cqlsh.

Pega el SQL a continuación. Si te mirado esa otra entrada del blog, te aquí tendré algunos datos.

    select * from Library.book;

Aquí está otra pregunta.

(Cabe señalar que Cassandra requiere la utiliza de comillas simples y no dobles, o te Obtén el error no será una alternativa viable en la entrada.)

    select ssn from Library.patron where checkedOut contains '1234';

Colecciones, mapas y conjuntos

Cassandra soporta tipos de datos complejos, incluyendo objetos definidos por el usuario, colecciones, mapas y conjuntos.

Por ejemplo. Si escribimos:

Mapas

    describe library.patron;

Podemos Ve que los comandos que se usaron para Crear la tabla. A continuación están una vista truncada de eso, ya que la vista completa muestra muchas opciones de administración del sistema, que veremos en otra entrada.

Abajo te puedes Ve que la columna desconectada está un conjunto de texto tipográfico. Un conjunto es una colección de valores únicos.

    CREATE TABLE library.patron (
ssn int PRIMARY KEY,
checkedout set
)

Mapea almacena valores en formato {key->value}.

Primero Crea este espacio de llaves.

    CREATE KEYSPACE shopping
WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };

Luego Crea un carrito de la compra para una app de comercio electrónico donde los artículos comprados son un mapa. El primer campo están el número de pedido del cliente. El segundo están la combinación de lo que compraron y cuánto, por ejemplo, {"zapatos", 1}.

    CREATE TABLE shopping.cart (
customerOrder int PRIMARY KEY,
items map
);

Añade algunos datos, es decir, Haz una venta:

Y enuméralo:

    INSERT INTO shopping.cart (customerOrder, items) 
VALUES (
  1,
 {'toys' : 12, 'socks': 5});

Y enuméralo:

    select * from shopping.cart;
customerorder | items
---------------+--------------------------
1 | {'socks': 5, 'toys': 12}

Lotes

Con una aplicación de comercio electrónico, te convendría utilizar lotes.

Los lotes aseguran atomicidad, lo que los programadores de SGBDR dirían que garantiza la integridad referencial. Esto asegura que si alguna de las sentencias SQL en un lote tiene un error, ninguna de las sentencias son aplicada.

Eso es importar, por ejemplo, para una app de carrito de la compra. Solo querríamos actualizar el inventario si la transacción de venta funcionara.

Para ilustrar eso, Crea una tabla de inventario y pon un objeto en ella:

    CREATE TABLE shopping.inventory (
      item text PRIMARY KEY,
      quantity int
);

INSERT INTO shopping.inventory (item, quantity) VALUES ('eggs', 48);

Ahora Haz una venta de 4 huevos en LOTE:

    BEGIN BATCH

INSERT INTO shopping.cart (customerOrder, items) 
VALUES (
2,
{'eggs' : 4}
);

UPDATE shopping.inventory
SET quantity = 44
where item = 'eggs';

APPLY BATCH;

Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.

Más de Orquestación

¿Te interesa saber más de BMC?

El Brief están nuestro correo mensual sobre el mainframe y la orquestación empresarial: investigación, historias de clientes, noticias de productos, eventos.

Al registrarse para esta oferta te son confirmar que te leído y aceptado la Política de Privacidad de BMC.

Tú te has suscrito a The Brief

El Brief abarca la orquestación de mainframe y empresa—BMC AMI y Control-M—y la investigación de analistas, despliegues de clientes y eventos en ambas áreas.