Puntos clave: Usar JSON con Cassandra permite una gestión flexible de datos al permitir a los usuarios escribir datos en formato JSON. La guía incluye ejemplos para crear espacios de claves y tablas, insertar datos y consultarlos usando sintaxis JSON.
- Permite almacenar y escribir datos en formato JSON.
- Incluye ejemplos para crear tablas e insertar registros usando sintaxis JSON.
Cassandra proporciona soporte para JSON. te puede, por supuesto, almacena texto JSON en columnas de texto de Cassandra. Pero no están eso a lo que nos referimos aquí. Aquí queremos decir te puede utiliza JSON para escribir en tablas de Cassandra.
Lo ilustramos con un ejemplo. Primero Crea un espacio de llaves.
create keyspace json with REPLICATION = {'class' : 'SimpleStrategy', 'replication_factor' : 2 };
Ejemplo simple de JSON
Vamos a Haz una tabla con tres columnas. Luego escribamos datos en ella usando la palabra clave JSON. Eso le dice a Cassandra que asigne los valores JSON a los nombres de las columnas, tal y como te esperaría con JSON.
create table books (isbn text primary key, title text, publisher text);
insert into books JSON '{"isbn": "123",
"title": "The Magic Mountain",
"publisher": "Knofp"}';
Luego listamos los datos. Parece que son datos columnares normales y no JSON. Porque son solo datos normales. Simplemente usamos JSON para añadirlos, lo cual están útil ya que los datos a menudo se están representados como JSON.
select * from books;
isbn | publisher | title
------+-----------+--------------------
123 | Knofp | The Magic Mountain
JSON anidado
Aquí está un ejemplo más complicado. Tenemos un registro de cliente con un tipo de ventas que están de lista de tipos. Obviamente, un cliente tendría varias ventas. Así que esta es una buena forma de representarlo.
Primero Creamos el tipo de venta. Luego Crea la tabla de clientes. Tenemos que utilizar la palabra clave FROZEN porque cada transacción de venta no puede cambiarse, es decir, está inmutable. Si tú quieres cambiar una transacción de venta, te tendrías que eliminarla y luego añadirla de nuevo.
use json;
CREATE type json.sale ( id int, item text, amount int );
CREATE TABLE json.customers ( id int PRIMARY KEY, name text, balance int, sales list> );
Ahora añade valores. Como los artículos de venta son una lista, podemos añadir más de uno.
INSERT INTO json.customers (id, name, balance, sales)
VALUES (123, 'Greenville Hardware', 700,
[{ id: 5544, item : 'tape', amount : 100},
{ id: 5545, item : 'wire', amount : 200}]) ;
Ahora enumera los elementos. Ten en cuenta que no está ningún signo de interrogación alrededor del valor clave en el jSON. Esto están porque está un objeto JSON.
select * from customers;
id | balance | name | sales
-----+---------+---------------------+--------------------------------------------------------------------------------
123 | 700 | Greenville Hardware | [{id: 5544, item: 'tape', amount: 100}, {id: 5545, item: 'wire', amount: 200}]
Si te quieres convertirlo a una cadena JSON, entonces utiliza a Json()
select id, toJson(sales) from customers;
id | system.tojson(sales)
-----+--------------------------------------------------------------------------------------------
123 | [{"id": 5544, "item": "tape", "amount": 100}, {"id": 5545, "item": "wire", "amount": 200}]
Guía Cassandra
- ¿Qué es Cassandra? Características y ventajas principales
- Cómo configurar un clúster Cassandra
- Cassandra SQL Batches y Mapas
- Pruebas de Estrés y Ajuste de Rendimiento Apache Cassandra
- Usando JSON con Cassandra
- Configuring Apache Cassandra Data Consistency
- Uso de tokens para distribuir datos de Cassandra
- Clave de partición vs clave compuesta vs agrupación de columnas en Cassandra
Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.