NEW *BETA* release RIPE database: ripe-dbase-1.1beta.tar.gz
- Date: Mon, 20 Nov 1995 14:29:40 +0100
Dear all,
This message is to announce the new *beta* version of the RIPE database.
Most interesting new features are:
- the new release supports nearly real time mirroring of the RIPE database
- BSD DB dbm package is fully supported
- Network updates, a method for directly updating objects by use
of 'whois -U'. The use of this method is restricted by use of an
accesslist and intended for the people that maintain a database.
- new database help file
and many more small changes and fixes. Please read the release notes at
the bottom of this message for more information and discussion about
these topics.
Since the number of changes is quite large (core routines like 'enread'
have been rewritten), we decided to bring out a beta version first.
Please don't use this software (yet) for your core activities, we don't
either ;-),
The software is available from:
ftp://ftp.ripe.net/ripe/dbase/software/ripe-dbase-1.1beta.tar.gz
Please send bug reports/fixes directly to ripe-dbm@localhost and I will
fix the problem,
Kind regards,
David Kessens
RIPE NCC database software maintainer
**********************************************************************
NOTE:
This is a *BETA* version of the RIPE database. Please only use this
version of the software for test purposes.
**********************************************************************
RELEASE NOTES:
- Nearly real time mirroring support:
What is it:
The database software now keeps serial numbers of all updates. If you
have been added to an accesslist, it it possible to retrieve all the
changes to the database. A program 'backupupd' has been added to the
distribution that can retrieve these changes and update your mirror
database automatically. This program is intended to be put in a
cronjob.
The whois erver has an access list so you first need to ask the site
to be mirrored to add your host to the access list.
Please let me now ripe-dbm@localhost if you are interested in testing
this feature, and I will add your test site to the access list.
Short discussion:
Note that this is the first version, it currently uses seperate files
internally for every update. I plan to change this since this is not
really what we want with 2000 (atomic) updates on some days.
Furthermore, we use currently an ever increasing integer serial number,
I personnally think that it is better to use another format and store
the information in a special not visible (only with a whois option)
attribute:
stored: (NEW|UPD) DATE TIME TIMEZONE serialnumber
NEW|ADD - is this an older object ?!? or new...
We probably also want an optional attribute 'replaced:'
that points to the previous version of the
object when the object was an UPD(date).
DATE - YYYYMMDD date of storing including the leading 19 or 20
TIME - time in HH:MM.SS
TIMEZONE - ?!?
SERIAL - serial number to avoid updates with same time & date
Of course this is open to discusssion, it is just one of the
possibilities.
- BSD berkeley DB support:
The database software can now use the Berkeley DB dbm package.
According to many people this package is superior to most other dbm
packages that perl can use (unlimited size of keys/values, platform
independent db files). We have put the current sources for this
package at ftp://ftp.ripe.net/tools/db.1.85.tar.gz
It should be possible with the BSD DB package to increase the
OVERFLOWSIZE and as result get rid of (most) of the classless overflow
files, however, this caused indexing problems on my BSDI test machine,
but you might want to give it a try on other systems.
- Problems with finding persons that have a very common first and last
name (the problem we recently discussed on the 'db-wg' mail list can
nearly disappear when:
When you use dbm packages (e.g. BSD DB) that support much
larger/unlimited size keys and values you can easily increase the
MAXHITS config variable and the troubles that were recently discussed
on the mailing list with persons having a very common first and last
name will happen much less often.
- a new help and HOWTO use the RIPE database file is available
use 'whois -h whois.ripe.net HELP' to get the most recent version.
The document gives a short introduction on the database, tells you how
to create/update/delete objects, contains a section with tips and common
problems and gives pointers to other documentation about the database.
- Recent indexing problems and changes to 'netdbm'
We recently experienced severe problems with the classless indexing of
the RIPE database. Indexing just didn't work anymore due to index files
that grew too large. This only happened when people used the '-p'
option. Also no problems were reported when the BSD DB package was
used.
Solution:
- Disabled the '-p' option because of the recent indexing problems we
saw, professionals will be able to enable it by changing one line of
code.
- BSD DB dbm package is now fully supported.
Important change:
-c makes now a normal index as well as a classless index
- BSDI/perl memory leak problems
Due to a memory leak with perl on BSDI machines we needed to make the
code more memory conscious. enread.pl has been rewritten completely and
uses now less memory and as an (intended) side effect became faster when
reading big objects.
- Most patches (for greater speed and less memory consumption) that I
received from Curtis Villamizar curtis@localhost have been included.
Thanks Curtis!
- The direct network updating method is now fully supported.
Currently this method is only intended for use by the registry itself,
however it is possible to add support in the maintainer objects.
You can now do you updates very rapidly by giving the command 'whois -U'
and to input your object via STDIN. Of course, this is also protected
with an access list.
- The special magic to overrule the maintainer protection needs a
password now. Syntax will be published after the main registries
support this...
- dbupdate -T
Makes it very easy to install your own test database. The only
difference with a normal update is that it doesn't need manual
authorization for maintainer objects and that it will add a warning to
your object that this is not the normal behavior...
- status: attribute as described in ripe-127 fully supported
- syntax check for email/domainnames/phonenumbers made stronger
- perl5 patches. perl 5 is not supported yet. However, the biggest
problems should be gone now. Most interesting problem was in the
quad2int routine. Perl5 changed unsigned (IP numbers) int's to signed
int's while we relied on having positive IP numbers.
- Tony Bates <Tony.Bates@localhost recent patch for a problem with the
maintainer notifications. Thanks you Tony.
- many small fixes and clean up of the code to make above changes
possible.
- and yes the rumours that Daniel heard about a RIPE database running on
a Linux machine (486-100, 12 Mb RAM, 6 hours indexing) are true ;-)
So what are the OS's that we know that work with the RIPE database:
- SUNOS
- BSDI
- Linux
And that don't work:
- Solaris
(Please inform me with you own results so that I can update this list!)
What didn't make it in this release:
- Hierarchical authorization
(we will first make a proposal on the database working group)
- The auto nic handle generation support
I have patches received from Gabor Kiss, but my part of the job is not
ready yet.
- Rewrite of the 'read a new object from a mail message' routine.
This routine has memory size/speed problems with big objects.
- Rewrite of some of the conversion routines between classless and
classfull notation. There are known problems with these routines and
missing parts: not all input routines as specified in ripe-121 are
supported.