[openstack-dev] [nova] Distributed Database
Jay Pipes
jaypipes at gmail.com
Thu Apr 28 18:09:29 UTC 2016
On 04/28/2016 08:44 AM, Edward Leafe wrote:
> On Apr 24, 2016, at 3:28 PM, Robert Collins <robertc at robertcollins.net> wrote:
>> For instance, the things I think are essential for a distributed
>> database based datastore:
>> - good single-machine developer story. Must not need a physical
>> cluster to hack on OpenStack
>> - deal gracefully with single node/rack/site failures (when deployed
>> appropriately) - allow limiting failure domain impact
>> - straightforward programming model: wrong uses should be obvious to reviewers
>> - low latency performance with big datasets: e.g. nova list as an
>> admin should be able to get the Nth page as rapidly as the 2nd or 3rd.
nova list as an admin (or any user frankly) should be a proxy call to
Project Searchlight and elasticsearch.
elasticsearch is a great interface for this kind of operation. We should
use it.
The Cells architecture, which allows the operator to both scale the
message queue *and* limit the scope of failure domains, is a good one.
Having a database that stores only the local (to the cell) information
is perfectly fine given the top-level API database's index/mapping
tables. Where this design has short-comings, as Ed and others point out,
are things like doing list operations across dozens of separate cells.
So, let's not use the Nova database for that and instead use a solution
that works very well for it: Project Searchlight.
And for those that have small clouds and/or don't want/need to install
elasticsearch, OK, cool, stick with a single cell and a single RDBMS
instance.
Best,
-jay
More information about the OpenStack-dev
mailing list