From: Kirill Yukhin <kyukhin@tarantool.org>
To: Nikita Pettik <korablev@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org, v.shpilevoy@tarantool.org
Subject: Re: [Tarantool-patches] [PATCH v2 14/16] sql: introduce cache for prepared statemets
Date: Tue, 17 Dec 2019 17:43:52 +0300 [thread overview]
Message-ID: <20191217144352.2aetfhpiibaehorx@tarantool.org> (raw)
In-Reply-To: <22cf7005dc67cbc1db717ebbd6aee79660479d84.1574277369.git.korablev@tarantool.org>
Hello Nikita,
On 21 ноя 00:28, Nikita Pettik wrote:
> This patch introduces cache (as data structure) to handle prepared
> statements and a set of interface functions (insert, delete, find) to
> operate on it. Cache under the hood uses LRU eviction policy. It is
> implemented as a hash table with string keys (which contain original SQL
> statements) and prepared statements (struct sql_stmt which is an alias
> for struct Vdbe) as values. To realise LRU strategy we maintain list of
> nodes: head is the newest prepared statement, tail a candidate to be
> evicted. Size of cache is regulated via box.cfg{sql_cache_size}
> parameter. Cache is global to all sessions. To erase session manually,
> one can set its size to 0. Default cache size is assumed to be 5 Mb.
>
> Part of #2592
Could you please implement prepared statements storage
machinery according to proposal posted in `discussions`.
Here's the quote:
Date: Tue, 22 Oct 2019 15:57:09 +0300
From: Nikita Pettik <korablev@tarantool.org>
To: dev@tarantool.org
Cc: kostja.osipov@gmail.com, v.shpilevoy@tarantool.org, georgy@tarantool.org, sergos@tarantool.org
Subject: Re: [dev] rfc: prepared statements
User-Agent: Mutt/1.9.2 (2017-12-15)
On 01 Oct 00:16, Nikita Pettik wrote:
> Hi everyone,
>
> RFC in human-readable format is available here:
> https://github.com/tarantool/tarantool/blob/np/sql-prepared-stmt-rfc/doc/rfc/2592-prepared-statement.md
Yesterday we had discussion concerning prepared statements identifiers.
It was decided to use sequential numeric ids instead of strings since
strings are likely to add too much overhead on binary protocol payload.
All problems which may appear due to cluster configuration were decided
to delegate to proxy. Proxy is assumed to take responsibility of mapping
query id to appropriate Tarantool instance.
--
Regards, Kirill Yukhin
next prev parent reply other threads:[~2019-12-17 14:43 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-20 21:27 [Tarantool-patches] [PATCH v2 00/16] sql: prepared statements Nikita Pettik
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 01/16] sql: remove sql_prepare_v2() Nikita Pettik
2019-12-04 11:36 ` Konstantin Osipov
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 02/16] sql: refactor sql_prepare() and sqlPrepare() Nikita Pettik
2019-12-03 22:51 ` Vladislav Shpilevoy
2019-12-04 11:36 ` Konstantin Osipov
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 03/16] sql: move sql_prepare() declaration to box/execute.h Nikita Pettik
2019-12-04 11:37 ` Konstantin Osipov
2019-12-05 13:32 ` Nikita Pettik
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 04/16] sql: rename sqlPrepare() to sql_compile() Nikita Pettik
2019-12-03 22:51 ` Vladislav Shpilevoy
2019-12-13 13:49 ` Nikita Pettik
2019-12-04 11:39 ` Konstantin Osipov
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 05/16] sql: move sql_finalize() to execute.h Nikita Pettik
2019-12-03 22:51 ` Vladislav Shpilevoy
2019-12-04 11:39 ` Konstantin Osipov
2019-12-13 13:49 ` Nikita Pettik
2019-12-04 11:40 ` Konstantin Osipov
2019-12-05 13:37 ` Nikita Pettik
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 06/16] port: increase padding of struct port Nikita Pettik
2019-12-04 11:42 ` Konstantin Osipov
2019-12-13 13:54 ` Nikita Pettik
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 07/16] port: add dump format and request type to port_sql Nikita Pettik
2019-12-03 22:51 ` Vladislav Shpilevoy
2019-12-13 13:55 ` Nikita Pettik
2019-12-04 11:52 ` Konstantin Osipov
2019-12-13 13:53 ` Nikita Pettik
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 08/16] sql: resurrect sql_bind_parameter_count() function Nikita Pettik
2019-12-03 22:51 ` Vladislav Shpilevoy
2019-12-04 11:54 ` Konstantin Osipov
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 09/16] sql: resurrect sql_bind_parameter_name() Nikita Pettik
2019-12-04 11:55 ` Konstantin Osipov
2019-12-04 11:55 ` Konstantin Osipov
2019-12-13 13:55 ` Nikita Pettik
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 10/16] sql: add sql_stmt_schema_version() Nikita Pettik
2019-12-04 11:57 ` Konstantin Osipov
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 11/16] sql: introduce sql_stmt_sizeof() function Nikita Pettik
2019-12-03 22:51 ` Vladislav Shpilevoy
2019-12-13 13:56 ` Nikita Pettik
2019-12-04 11:59 ` Konstantin Osipov
2019-12-13 13:56 ` Nikita Pettik
2019-12-13 14:15 ` Konstantin Osipov
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 12/16] box: increment schema_version on ddl operations Nikita Pettik
2019-12-04 12:03 ` Konstantin Osipov
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 13/16] sql: introduce sql_stmt_query_str() method Nikita Pettik
2019-12-03 22:51 ` Vladislav Shpilevoy
2019-12-04 12:04 ` Konstantin Osipov
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 14/16] sql: introduce cache for prepared statemets Nikita Pettik
2019-12-03 22:51 ` Vladislav Shpilevoy
2019-12-04 12:11 ` Konstantin Osipov
2019-12-17 14:43 ` Kirill Yukhin [this message]
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 15/16] box: introduce prepared statements Nikita Pettik
2019-12-04 12:13 ` Konstantin Osipov
2019-12-06 23:18 ` Vladislav Shpilevoy
2019-11-20 21:28 ` [Tarantool-patches] [PATCH v2 16/16] netbox: " Nikita Pettik
2019-12-06 23:18 ` Vladislav Shpilevoy
2019-12-03 22:51 ` [Tarantool-patches] [PATCH v2 00/16] sql: " Vladislav Shpilevoy
2019-12-17 15:58 ` Georgy Kirichenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20191217144352.2aetfhpiibaehorx@tarantool.org \
--to=kyukhin@tarantool.org \
--cc=korablev@tarantool.org \
--cc=tarantool-patches@dev.tarantool.org \
--cc=v.shpilevoy@tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH v2 14/16] sql: introduce cache for prepared statemets' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox