Update of /cvsroot/monetdb/sql/src/backends/monet5/merovingian
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv5779
Modified Files:
ChangeLog merovingian.1
Log Message:
finish manpage now tag sharing has been decided upon how to do it, update
changelog to record this fact
U merovingian.1
Index: merovingian.1
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/merovingian/merovingian.1,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- merovingian.1 7 Jul 2009 09:38:38 -0000 1.7
+++ merovingian.1 21 Jul 2009 12:30:14 -0000 1.8
@@ -1,7 +1,7 @@
.\" Process this file with
.\" groff -man -Tascii foo.1
.\"
-.TH MEROVINGIAN 1 "JUNE 2009" Application "MonetDB Applications"
+.TH MEROVINGIAN 1 "JULY 2009" Application "MonetDB Applications"
.SH NAME
merovingian \- the MonetDB Database Server daemon
.SH SYNOPSIS
@@ -93,12 +93,14 @@
to write the process id of the daemon process that was started in the
background. This pid can be used to stop
.B merovingian
-again by sending it a termination signal.
+again by send a termination signal to the process id found in the file.
.IP mero_port
The port
.B merovingian
will open up and listen to connections for. When unset, the default
-port 50000 is used, which should be ok for most setups.
+port
+.I 50000
+is used, which should be fine for most setups.
.IP mero_exittimeout
All database servers that were started by
.B merovingian
@@ -123,7 +125,10 @@
.B mero_exittimeout
is
.B 60
-seconds.
+seconds. If your databases are rather large and find your databases
+consistently being killed by
+.B merovingian
+upon shutdown, you may have to increase this timeout.
.IP mero_doproxy
.B merovingian
has two ways in which it can "attach" a connecting client to the target
@@ -132,8 +137,8 @@
.BR merovingian .
While the first is more efficient, it requires the connecting client
to be able to connect to the mserver. In many settings this may be
-undesirable or even impossible, since a wide range of open ports are
-necessary for this. In such case the proxy behaviour of
+undesirable or even impossible, since a wide range of open ports and
+routing are necessary for this. In such case the proxy behaviour of
.B merovingian
is a good solution, which also allows a
.B merovingian
@@ -187,25 +192,79 @@
local databases overshadow remote ones, and duplicate remote entries
cannot be distinguished. To compensate for this,
.B merovingian
-adds a
+allows to adds a
.I tag
to each database that is being shared. This tag is sent in addition to
the database name, and only understood by other
.BR merovingian s.
.P
-Tags are arbitrary ASCII-strings that follow the rules of the path
-component in an URI. The / character is hence a separator that can be
-used to structure a tag which is useful given that
+Tags are arbitrary ASCII-strings matching the pattern [A\-Za\-z0\-9./]+.
+There are no assumed semantics in the tag, which allows for multiple
+approaches when using the tag. The tag is always used in combination
+with the database name. For this, the `/' character is used as
+separator, which hence suggests the user to use that character as
+separator for multilevel tags.
.B merovingian
-allows common path globbing using * on these tags.
+allows common path globbing using `*' on tags, which allows for many
+use-cases. Consider for instance the following three databases with their
+tag:
+.PP
+.RS 0
+dbX/master/tableQ
+.RS 0
+dbY/slave/tableQ
+.RS 0
+dbZ/slave/tableQ
+.PP
+A default match has implicit `/*' added to the search, making more generic
+search strings match more specific ones. Hence, a connect with
+database
+.I dbX
+is the same as
+.I dbX/*
+and hence matches
+.IR dbX/master/tableQ .
+Similar, a database connect for
+.I */master
+matches the same database as before. Note that the implicit `/*' is
+not added if that would cause no matches, such as for
+.I */master/tableQ
+which would return all masters for
+.IR tableQ ,
+which in our hypothetical example is only
+.IR dbX .
+In contrast, a database connect for
+.I */slave/tableQ
+matches with either
+.IR dbY " or " dbZ .
+.B merovingian
+returns the two options to the client in a round-robin fashion, such
+that subsequent connects for the same pattern result in a load-balanced
+connect to either of both databases.
.P
-dbname/table/shard1
-
-pattern [A\-Za\-z0\-9./]+
-
-default match has implicit /* added to the search, making more generic
-search strings match more specific ones.
-
+With tags in use, one can possibly make distinction between databases,
+if setup like that. The previous example could hence also be setup like
+this:
+.PP
+.RS 0
+tableQ/master
+.RS 0
+tableQ/slave
+.RS 0
+tableQ/slave
+.PP
+Connecting to
+.I tableQ/slave
+would now return either of both databases even though they are not
+unique (apart from the host they are located on, which is not shown in
+the example). While being confusing for humans, for
+.B merovingian
+it is the same situation as in the previous example. However, because
+globbing allows to make things easier to understand, tags for both
+slaves could be changed to
+.IR slaveX " or " slave/X
+and use the necessary pattern to match them. It is up to the user to
+decide how to use the tags.
.SH SIGNALS
.B merovingian
acts upon a number of signals as is common for a daemon.
U ChangeLog
Index: ChangeLog
===================================================================
RCS file: /cvsroot/monetdb/sql/src/backends/monet5/merovingian/ChangeLog,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- ChangeLog 2 Jul 2009 11:56:58 -0000 1.16
+++ ChangeLog 21 Jul 2009 12:30:14 -0000 1.17
@@ -1,6 +1,15 @@
# ChangeLog file for sql/src/backends/monet5
# This file is updated with mchangelog (Gentoo echangelog bastard script)
+ 21 Jul 2009; Fabian Groffen <[email protected]> merovingian.1,
+ merovingian.c, monetdb.1, monetdb.c:
+ Implemented sharing of databases with tags. Using these tags, extra
+ information is available on a remote merovingian to select a database during
+ connect. For this, a client can now connect to a database using a glob
+ expression, which is matched on the database plus tag. When multiple
+ databases match such expression, a load-balancing technique is
+ applied.
+
02 Jul 2009; Fabian Groffen <[email protected]> monetdb.1, monetdb.c:
Allow expression matches for 'monetdb status' command.
------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge
This is your chance to win up to $100,000 in prizes! For a limited time,
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins