Hi Abdul,

There is no mechanism offered in Cassandra to bind a keyspace (when
created) to specific filesystem or directory. If multiple filesystems or
directories are specified in the data_file_directories property in the
*cassandra.yaml* then Cassandra will attempt to evenly distribute data from
all keyspaces across them.

Cassandra places table directories for each keyspace in a folder under the
path(s) specified in the data_file_directories property. That is, if the
data_file_directories property was set to */var/lib/cassandra/data* and
keyspace "foo" was created, Cassandra would create the directory
*/var/lib/cassandra/data/foo*.

One possible way bind a keyspace to a particular file system is create a
custom mount point that has the same path as the keyspace. For example if
you had a particular volume that you wanted to use for keyspace "foo", you
could do something like:

sudo mount /<my_device_volume_path> /var/lib/cassandra/data/foo

Note that you would probably need to do this after the keyspace is created
and before the tables are created. This setup would mean that all
reads/writes for tables in keyspace "foo" would touch that volume.

Regards,
Anthony

On Tue, 3 Jul 2018 at 07:02, Abdul Patel <abd786...@gmail.com> wrote:

> Hi
>
> Can we bind or specify while creating keyspace to bind to specific
> filesystem or directory for writing?
> I see we can split data on multiple filesystems but can we decide while
> fileystem a particular keyspace can read and write?
>

Reply via email to