text: database - Can Cassandra partition tables based on date/timestamp? - Stack Overflow
  Can Cassandra partition tables based on date/timestamp?
  I have a very big table with many columns. Values in some of the columns change rarely, and as its bad to store all of this data in a single table, I would like to partition the table into many tables based on timestamp. That is, for one timestamp, one table is made, while querying all these tables should give the abstraction of one single table. That is, the query should be only executed on the required tables (based on the time range query) and all these results should be merged.
  Thus I need two functionalities:
  Automatic sparse implementation
  Storage as multiple table based on timestamp and abstraction of hitting a single table
  Which tool is best suited for this purpose? Would Cassandra be suitable?
  database nosql cassandra sparse-matrix share|improve this question edited Feb 4 '12 at 3:46
  5,9921325
  asked Jan 30 '12 at 11:27
  Given that you are asking which tool/database to use, it seems premature to decide your table structure (especially since Cassandra isn't table based). What you seem to need is time-based queries - whether this is achieved using multiple tables or (more likely) via time-based indexing is an implementation detail. Can you give more details please - How big is your table? How many columns? What is it currently implemented in? What is the problem with your current implementation (i.e. why do you think it is 'bad' to keep the data in a single table?)
  My data would be around 2 to 3 TB. There would be atleast 10 columns. I am only going to implement it. I am worried if the performance is affected if i keep the data in a single talbe.
  – Vineeth Mohan
  Jan 31 '12 at 4:30
  Conventional SQL databases such as PostgreSQL can handle several TB (maximum theoretical table size is 32TB). Some can handle much larger volumes of data, though this generally requires partioning the data around a cluster of machines.
  10 columns is not very many - PostgreSQL has a maximum of 250-16600 columns per table depending on the column type. Indexing on time is provided, so there should be no need to partition by timestamp, given that you still need to query the data (i.e. you are not archiving old data).
  Cassandra can handle much larger volumes of data than this, but typically one would use multiple nodes in a cluster to share the load and provide replication. The typical advice seems to be to use one node per TB if the system is heavily read/write loaded, or more (2-3 TB ?) if it is lightly loaded.
  Cassandra doesn't use tables as such. It has column families, which contain rows of sparse columns (up to 2 billion per row). Again, partitioning of data should not be required, in general - you can store a vast number of rows in a single column family (under the hood, they are partitioned across your nodes, and further partitioned into files called SSTables).
  Whether Cassandra is suitable depends somewhat on the types of queries you want to make. Cassandra does not providie flexible SQL queries, so you need to structure the data to suit the queries.
  share|improve this answer answered Jan 31 '12 at 22:29
  27.1k85298
  Not the answer you're looking for?	Browse other questions tagged database nosql cassandra sparse-matrix or ask your own question.	asked
  2Get range of columns from Cassandra based on TimeUUIDType using Python and the datetime module1Cassandra efficient table walk0Replace a table in Apache Cassandra0Need recommendation on appropriate primary key structure0Internals of Partition Summary in cassandra0Apache Cassandra table not sorting by name or title correctly2Cassandra table synchronization2cassandra extract month from timestamp1Cassandra, Design user liked item table1Query a table in different ways or orderings in Cassandra