<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>DataStax Support Forums &#187; Topic: Per-tenant keyspaces and multi-tenancy</title>
		<link>http://www.datastax.com/support-forums/topic/per-tenant-keyspaces-and-multi-tenancy</link>
		<description>Software, Support, and Training for Apache Cassandra</description>
		<language>en-US</language>
		<pubDate>Thu, 20 Jun 2013 03:46:01 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.3</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://www.datastax.com/support-forums/search.php</link>
		</textInput>
		<atom:link href="http://www.datastax.com/support-forums/rss/topic/per-tenant-keyspaces-and-multi-tenancy" rel="self" type="application/rss+xml" />

		<item>
			<title>jas on "Per-tenant keyspaces and multi-tenancy"</title>
			<link>http://www.datastax.com/support-forums/topic/per-tenant-keyspaces-and-multi-tenancy#post-1956</link>
			<pubDate>Mon, 21 May 2012 23:58:08 +0000</pubDate>
			<dc:creator>jas</dc:creator>
			<guid isPermaLink="false">1956@http://www.datastax.com/support-forums/</guid>
			<description>&#60;p&#62;I think someone with more experience with Cassandra internals can provide the nitty-gritty differences for your three scenarios.  My understanding is that with Cassandra 1.x (perhaps even with 0.8x) that the overhead in creating and maintaining a keyspace is fairly minimal, and that it should not weigh in in your deciding between your scenarios 1 and 2.&#60;/p&#62;
&#60;p&#62;Also, there are keyspace specific attributes, most notably the placement strategy and other strategy options, including the replication factor and data centers. If metadata and the keyspace level is expected to be the same for all tenants, then you can still go with either option 1 or 2. But, a separate keyspace keeps things a little cleaner in my opinion instead incorporating a tenant's name or other ID into the naming of the column families.&#60;/p&#62;
&#60;p&#62;For my current project, I like the cleanliness of a separate keyspace per tenant. Also, I intend to make use of keyspace level config. Perhaps a larger tenant would be better served with a higher replication factor?  Or perhaps their content will be replicated to specific data centers. Another tenant may have, say, no presence in Asia, so why replicate their content there?  &#60;/p&#62;
&#60;p&#62;I did not even consider your scenario 3. In my case, tenant content is updated very infrequently. My plan is record for some time interval, whether or not an update was made in a particular tenant CF.  If so, then it will be snapshot and backed up. If you have multiple tenants' content in a single CF, this gets complicated. Also, if you terminate your relationship with a tenant and want to delete their data, you will have to delete all tenant specific rows, rather than just drop some number of CFs or an entire keyspace.&#60;/p&#62;
&#60;p&#62;Don't know if this is useful or not, but I wanted to explain some of my reasoning.&#60;/p&#62;
&#60;p&#62;Good luck!&#60;/p&#62;
&#60;p&#62;Jeff
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Anonymous on "Per-tenant keyspaces and multi-tenancy"</title>
			<link>http://www.datastax.com/support-forums/topic/per-tenant-keyspaces-and-multi-tenancy#post-1938</link>
			<pubDate>Fri, 18 May 2012 15:14:44 +0000</pubDate>
			<dc:creator>Anonymous</dc:creator>
			<guid isPermaLink="false">1938@http://www.datastax.com/support-forums/</guid>
			<description>&#60;p&#62;To clarify the question:&#60;/p&#62;
&#60;p&#62;What are the pros and cons of implementing multi-tenancy with:&#60;/p&#62;
&#60;ol&#62;
&#60;li&#62;Keyspace per tenant&#60;/li&#62;
&#60;li&#62;Set of column families per tenant in a single keyspace&#60;/li&#62;
&#60;li&#62;Tenant name as part of rowkey or column name in a single set of column families&#60;/li&#62;
&#60;/ol&#62;</description>
		</item>
		<item>
			<title>Anonymous on "Per-tenant keyspaces and multi-tenancy"</title>
			<link>http://www.datastax.com/support-forums/topic/per-tenant-keyspaces-and-multi-tenancy#post-1936</link>
			<pubDate>Fri, 18 May 2012 04:21:02 +0000</pubDate>
			<dc:creator>Anonymous</dc:creator>
			<guid isPermaLink="false">1936@http://www.datastax.com/support-forums/</guid>
			<description>&#60;p&#62;Are per-tenant keyspaces a good way to implement multi-tenancy with Cassandra?  My application has a small number of column families per tenant.  One way to implement this would be a keyspace per tenant.  However I have heard that:&#60;/p&#62;
&#60;p&#62;- a large number of keyspaces could cause memory issues&#60;br /&#62;
- frequently switching keyspaces could impact performance and prevent optimization of the connection pool&#60;/p&#62;
&#60;p&#62;Are these still valid concerns with Cassandra 1.1?  Would it be better to implement tenancy by including tenant in a composite rowkey or column name?
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
