diff --git a/README.rst b/README.rst index fec606b..58e011c 100644 --- a/README.rst +++ b/README.rst @@ -271,6 +271,30 @@ For a ``SummingMergeTree`` you can optionally specify the summing columns:: engine = engines.SummingMergeTree('EventDate', ('OrderID', 'EventDate', 'BannerID'), summing_cols=('Shows', 'Clicks', 'Cost')) +A ``Buffer`` engine is available for BufferModels. (See below how to use BufferModel). You can specify following parameters:: + + engine = engines.Buffer(Person) # you need to initialize engine with main Model. Other default parameters will be used + # or: + engine = engines.Buffer(Person, table, num_layers=16, min_time=10, max_time=100, min_rows=10000, max_rows=1000000, min_bytes=10000000, max_bytes=100000000): + +Buffer Models +------------- +Here's how you can define Model for Buffer Engine. The Buffer Model should be inherited from models.BufferModel and main model +Main model also should be specified in class:: + + class PersonBuffer(models.BufferModel, Person): + + main_model = Person + engine = engines.Buffer(Person) + +Then you can insert objects into Buffer model and they will be handled by Clickhouse properly:: + + db.create_table(PersonBuffer) + suzy = PersonBuffer(first_name='Suzy', last_name='Jones') + dan = PersonBuffer(first_name='Dan', last_name='Schwartz') + db.insert([dan, suzy]) + + Data Replication **************** @@ -291,4 +315,4 @@ After cloning the project, run the following commands:: To run the tests, ensure that the ClickHouse server is running on http://localhost:8123/ (this is the default), and run:: - bin/nosetests \ No newline at end of file + bin/nosetests