[MonetDB-users] Re: MonetDB Questions
Hello Mason, thank you for your interest in using MonetDB. Enclosed a quick response to your questions. If I miss something, someone from the monetdb-users list is likely to fill in the details. M Sharp wrote:
Hello Martin,
We are interested in evaluating MonetDB for use with our product (a potential customer of ours told us queries ran 5-6 times faster than on That;s what we know to be true for especially decision support applications. PostgreSQL). Basically we would install MonetDB on several nodes, and partition data amongst them, for data warehousing usage (more info about our product can be found at http://www.extendb.com).
I have looked through the documentation and website, but have some questions I was hoping you could help answer (as the project lead). If it is not too much trouble, I would greatly appreciate it if you could take a few minutes to answer.
1. Size limitation. If I understand correctly, there is no size limitation for tables or databases, just that a single column is limited to 2 GB. Is that correct? Also, when do you believe this restriction will be removed?
The size limitation of 2 GB holds for 32-bit platforms, it is already removed for 64 bit machines.
1a. I see something in the config file about 3GB of virtual memory. If the database (or table) is larger than that, does it negatively impact performance?
The performance degradation starts when MonetDB has to access BATs larger then the available memory, but won;t become slower than what you would expect in traditional database systems. The judicious use of the BATs mean that in practice of decision support you have a much lower chance hitting an IO bottleneck.
2. Multiple databases. I noticed in the config file that only one database can be used at a time. Can we start mulitple MonetDB instances to support multiple databases, just using a different port?
There can be one Mserver per database directory, and ofcourse multiple Mserver instances per platform.
3. Backups. Is there any backup tool? Also, can you do incremental backups?
No, we are looking forward to people interesting in developing such supportive tools.
4. Is there point in time recovery?
The SQL frontend ensures a log of all committed transactions to ensure stability. If you use the system at the MIL layer you have to schedule that work yourself.
5. Do you support savepoints (or subtranscations), not just transactions?
The SQL transaction semantics is based on the requirements in SQL99
6. What kind of locking capability is offered; DB, table or row? Are there different isolation levels?
There are no separate isolation levels. The policy in MonetDB is to assume a cooperative environment, which means that (SQL) compilers have to explicity lock/release resources to support concurrent use from clients. Internally, the system is fully configured to safely run with tens of concurrent threads thereby protecting the integrity of the database structures (but not their content).
7. Is there a separate high-speed loader utility, or must INSERTs be used?
yes there is.
8. Are checkpoints used? And is it configurable?
No particular support for taking a checkpoint
9. Are there utilities by which you can determine corruption? ... And repair corruption?
The additional tools have not been needed so far. The SQL log was sufficient to deal with the rare cases during development crashes.
Thank you very much in advance for taking the time to answer these questions. Also, please feel free to provide any other thoughts you have regarding using MonetDB and handling large databases (~ 1 TB).
It is the sizes we are after, but not on 32-bit platforms.
Regards,
Mason Sharp ExtenDB
participants (1)
-
Martin Kersten