Bigtable Venta de marca de tiempo inversa sobre marca de tiempo regular -- timestamp campo con google-cloud-bigtable campo con bigtable camp Relacionados El problema

bigtable reverse timestamp advantage over regular timestamp


0
vote

problema

Español

Docs BigTable Di:

invirtiendo la marca de tiempo, puede diseñar una tecla de fila donde más El evento reciente aparece al inicio de la tabla en lugar del final. Como un resultado, puede obtener los eventos más recientes de N simplemente recuperando Las primeras n filas de la tabla.

Mi comprensión es que las tablas asumiendo se clasifican en orden ascendente, entonces la marca de tiempo regular significará que los eventos recientes estarán al final de la tabla, ya que aquellos valores aumentan, mientras que los valores de marca inversa significarán que los eventos recientes estarán al comienzo de la tabla desde aquellos Los valores disminuirán. Mi comprensión es que este diseño de marca de tiempo inverso diseña la clasificación en la tecla de fila de la tabla.

¿Por qué hay un beneficio para la clasificación ascendente en lugar de descender, es el orden ascendente el único tipo de clasificación admitida en Bigtable? ¿Son correctos "Mi comprensión"?

Original en ingles

Bigtable docs say:

By reversing the timestamp, you can design a row key where the most recent event appears at the start of the table instead of the end. As a result, you can get the N most recent events simply by retrieving the first N rows of the table.

My understanding is that assuming tables are sorted in ascending order then regular timestamp will mean recent events will be at the end of the table since those values increase whereas reverse timestamp will mean recent events will be at the beginning of the table since those values will decrease. My understanding is that this reverse timestamp design leverages sorting on the row key of the table.

Why is there a benefit for sorting ascending as opposed to descending - is the ascending sort the only type of sort supported in bigtable? Are "My understanding"s above correct?

        

Lista de respuestas

1
 
vote

Sí, su comprensión es correcta. La nube Bigtable admite solo las llaves ordenadas lexicogramas. Por lo tanto, puede diseñar una llave invirtiendo la marca de tiempo para obtener los eventos más recientes de N recuperando las primeras n filas de la tabla.

El almacenamiento de datos de la serie de tiempo en la nube Bigtable es un ajuste natural. Nube Bigtable Tiendas de datos como columnas no estructuradas en filas; Cada fila tiene un Tecla de fila, y las teclas de fila son clasificadas léxicoquihicamente

Las filas están ordenadas con lexicográficamente por llave de fila, desde la más baja a la Cadena de byte más alta. Las teclas de fila se clasifican en orden de byte de Big-Endian (a veces llamado orden de byte de red), el equivalente binario de orden alfabético.

serie de tiempo y nube Bigtable

Diseño de su esquema

Por ejemplo, así es como se clasifican con léxicoquios (ascendentes) estos valores:

  <?php  class Database{  protected $url; protected $user; protected $passw; protected $db; protected $connection = null;  public function __construct($url,$user,$passw,$db){     $this->url = $url;     $this->user = $user;     $this->passw = $passw;     $this->db = $db; }  public function __destruct() {     if ($this->connection != null) {         $this->closeConnection();     } }  protected function makeConnection(){     //Make a connection     $this->connection = new mysqli($this->url,$this->user,$this->passw,$this->db);     if ($this->connection->connect_error) {         echo "FAIL:" . $this->connection->connect_error;     } }  protected function closeConnection() {     //Close the DB connection     if ($this->connection != null) {         $this->connection->close();         $this->connection = null;     } }  protected function cleanParameters($p) {     //prevent SQL injection     $result = $this->connection->real_escape_string($p);     return $result; }  public function executeQuery($q, $params = null){     $this->makeConnection();             if ($params != null) {         $queryParts = preg_split("/?/", $q);         if (count($queryParts) != count($params) + 1) {             return false;         }         $finalQuery = $queryParts[0];         for ($i = 0; $i < count($params); $i++) {         $finalQuery = $finalQuery . $this->cleanParameters($params[$i]) . $queryParts[$i + 1];         }         $q = $finalQuery;     }     $results = $this->connection->query($q);      return $results;  } }?> 3  
 

Yes, your understanding is correct. The cloud Bigtable supports only lexicographically sorted keys. Therefore you can design a key by reversing the timestamp in order to get the N most recent events by retrieving the first N rows of the table.

Storing time-series data in Cloud Bigtable is a natural fit. Cloud Bigtable stores data as unstructured columns in rows; each row has a row key, and row keys are sorted lexicographically

Rows are sorted lexicographically by row key, from the lowest to the highest byte string. Row keys are sorted in big-endian byte order (sometimes called network byte order), the binary equivalent of alphabetical order.

Time series and Cloud Bigtable

Designing your schema

For example this is how are lexicographically sorted (ascending) these values:

1425330757686 1425330757687 1425330757688 2 3 
 
 
1
 
vote

¿Por qué hay un beneficio para la clasificación ascendente en lugar de descender, es el orden ascendente el único tipo de clasificación admitida en Bigtable?

Bigtable almacena datos lexicográficamente fuera de la caja. Esto significa que la clave "203" se colocará después de "202", pero se colocará clave "00202" después de "203". No puedes ordenar los datos de ninguna otra manera.

Aparte de eso, sus entendimientos son correctos. Cuando se utiliza la marca de tiempo inverso, los eventos recientes estarán al comienzo de la tabla.

 

Why is there a benefit for sorting ascending as opposed to descending - is the ascending sort the only type of sort supported in bigtable?

Bigtable stores data lexicographically out of the box. This means that key "203" will be placed after "202", but key "00202" will be placed after "203". You can't sort data any other way.

Apart from that, your understandings are correct. When using reverse timestamp, recent events will be at the beginning of the table.

 
 

Relacionados problema

3  Horario comercial de indexación usando Google App Motor  ( Indexing business hours using google app engine ) 
Dado un rango de tiempo en un día (horario abierto de negocios). Cómo podría crear un índice que devolvería una entidad dada la hora actual. Cometí el error...

4  Problema con agregar nuevas propiedades a los modelos / entidades existentes de datos de Google AppEngine  ( Issue with adding new properties to existing google appengine data models enti ) 
En GaE, tengo un modelo llamado Foo, con entidades existentes, e intentar agregar una nueva propiedad llamada Memcached a Foo que toma los valores de DateTi...

-2  Los datos grandes se eliminan automáticamente 30 minutos después de la inserción  ( Bigtable data is removed automatically 30 minutes after insertion ) 
Tengo una mesa en Bigtable con nombre "Pedidos" con una familia de columnas "Orden-familia". Devuelve esta configuración Column Family: order-family GC Rule:...

2  ¿Cómo poner un espaciado de colores en una tabla de XTable?  ( How to put a spacing of colors in a table of xtable ) 
¿Cómo poner un espacio de colores en una tabla de XTable? I Generate las tablas con las siguientes instrucciones: test.table<-xtable(summary(test),captio...

16  Pro de bases de datos como Bigtable, Simpledb  ( Pros of databases like bigtable simpledb ) 
Los paradigmas de DataStore New School como Google Bigtable y Amazon Simpledb están diseñados específicamente para escalabilidad, entre otras cosas. Básicamen...

0  Uso de las colas de tareas en GaE para insertar datos a granel  ( Using task queues in gae to insert bulk data ) 
Estoy usando el motor de la aplicación de Google para crear una aplicación web. La aplicación tiene una entidad, los registros para los cuales el usuario se i...

1  Bases de datos alternativas para usar al poner IIS iniciar sesión en una base de datos usando Logparser  ( Alternative databases to use when putting iis logs into a database using logpars ) 
Hemos ejecutado algunos scripts que usan LogParser para descargar nuestros registros de IIS en una base de datos de SQL Server. Podemos entonces consultar e...

8  Gran teoría de diseño de bases de datos  ( Bigtable database design theory ) 
Estoy muy bien versado en la teoría y la práctica del diseño de la base de datos relacional. Sé lo que funciona y qué no, qué es Performant y lo que es mant...

0  En una mesa grande, ¿es normal los valores clave en las colecciones de niños (sub)?  ( In a big table is it normal to key values in child sub collections ) 
Estoy usando el motor de aplicación de Google y, por lo tanto, la mesa grande. Tengo una entidad person que parece esto: { // This property would b...

3  Comparación de escalabilidad entre diferentes DBMS  ( Scalability comparison between different dbmss ) 
Por qué factor aumenta el rendimiento (lectura de consultas / seg) cuando se agrega una máquina a un grupo de máquinas que se ejecutan: una base de datos g...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos