incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Blur Wiki] Update of "RowsAndRecords" by AaronMcCurry
Date Mon, 10 Jun 2013 15:19:24 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Blur Wiki" for change notification.

The "RowsAndRecords" page has been changed by AaronMcCurry:
https://wiki.apache.org/blur/RowsAndRecords

New page:
= Blur Data Model =

Blur is a table based query system.  So within a single shard cluster there can be many different
tables, each with a different schema, shard size, analyzers, etc.  Each table contains Rows.
 A Row contains a row id (Lucene !StringField internally) and many Records.  A record has
a record id (Lucene !StringField internally), a family (Lucene !StringField internally), and
many Columns.  A column contains a name and value, both are Strings in the API but the value
can be interpreted as different types.  All base Lucene Field types are supported, Text, String,
Long, Int, Double, and Float.

Starting with the most basic structure and building on it.

== Columns ==

Columns contain a name and value, both are strings in the API but can be interpreted as an
Integer, Float, Long, Double, String, or Text.  All Column types default to Text and will
be analyzed during the indexing process.

{{{
  Column {"name" => "value"}
}}}

== Records ==

Record contains a Record Id, Family, and one or more Columns

{{{
  Record {
    "recordId" => "1234",
    "family" => "family1",
    "columns" => [
      Column {"column1" => "value1"}
      Column {"column2" => "value2"}
      Column {"column2" => "value3"}
      Column {"column3" => "value4"}
    ]
  }
}}}

NOTE: The column names do not have to be unique within the Record.  So you can treat multiple
Columns with the same name as an array of values.  Also the order of the values will be maintained.

== Rows ==

Rows contain a row id and a list of Records.

{{{
  Row {
    "id" => "r-5678",
    "records" => [
       Record {
        "recordId" => "1234",
        "family" => "family1",
        "columns" => [
          Column {"column1" => "value1"}
          Column {"column2" => "value2"}
          Column {"column2" => "value3"}
          Column {"column3" => "value4"}
        ]
      },
      Record {
        "recordId" => "9012",
        "family" => "family1",
        "columns" => [
          Column {"column1" => "value1"}
        ]
      },
      Record {
        "recordId" => "4321",
        "family" => "family2",
        "columns" => [
          Column {"column16" => "value1"}
        ]
      }
    ]
  }
}}}

Mime
View raw message