Hi guys,

I still struggle with bucket types and have some questions. Going back
a year I could not find many threads about it, but forgive me if I
missed something and am asking already-answered questions.

## Cluster-awareness

I've understood so far that bucket types are used as part of the
namespace, and that they can also hold additional configuration
properties (such as datatypes). I've also read that they are
"lightweight", and are not being "gossiped around the cluster"
compared to properties set on buckets directly. Because of this they
are recommended for bucket configuration; in fact configuration of
newer properties (CRDT) are only available via bucket types.

The statement about "not gossiped around the cluster" makes me wonder:
does that mean that the bucket types must be defined (and activated?)
on each cluster node? The documentation at
[http://docs.basho.com/riak/kv/2.2.0/using/cluster-operations/bucket-types/]
does not explain this.

I find the example at this link actually really confusing: A bucket
type is created _without properties_, and then a property is set on
the individual bucket. I thought, you're exactly not supposed to do
that but rather use plenty of bucket types...?! (Yes, the example
further down explains that the bucket type could be defined with the
property; but why is it shown here as if this is the exception?)

## API-availability of bucket type creation

I've seen [this
thread](http://lists.basho.com/pipermail/riak-users_lists.basho.com/2016-July/018574.html)
about programatically creating bucket-types. Is there any progress on
this? I really really struggle with the concept that bucket types are
supposed to be created _manually_, _on the node(s)_ themselves. How
would the application know if this has happened or not? And what
should it do if not - fail?

In my eyes, the application is responsible for ensuring "data
definition", not an admin. At startup the application should check the
environment against its expectations and make the necessary changes.
An example of this is schema versioning in relational databases. If
this would require administrator interaction, the synchronisation
required is immense. How do others deal with this situation?

I couldn't find anything regarding bucket-types in
[javadoc](http://basho.github.io/riak-java-client/2.1.0/), so I assume
this is not available yet.


Thank you for your help and information!
Cheers,
Henning

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to