Windows Support Chat

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Wednesday, 17 May 2006

Being objective about database replication

Posted on 22:41 by Unknown
One of the key original architectural elements of Lotus Notes is its ability to replicate documents across different copies of the same database. [They copies must explicitly be set up as "replicas" of each other. If you're unfamiliar with this, see brief introductions at The History of Notes and Domino or NotesDesign and Notes Architecture, Internals and History or its mirrored page Notes Architecture, Internals and History for even more links.]

The Notes replication process is outstanding. It ensures that the different databases are kept in synchronization. It has stood the test of time since the late 1980s or early 1990s, and from Notes R4 onwards got even more granular with field-level replication (only individual fields that are newly created or updated or deleted need be replicated, not entire documents, a major performance booster). Notes databases have always been "rich-content document oriented" and -- unlike hierarchical and relational transactional databases -- by design no record locking occurs to prevent concurrent updates. Therefore when a given document is updated in multiple copies of the database, at the next replication cycle you can get document "replication conflicts" (multiple versions of the given document containing different fields and/or field contents). In essence, these conflicts must be manually resolved.

I've been deeply interested in database architectures ever since 1978, when I went to the IBM Rochester, Minnesota, development laboratory to gain pre-announcement training in the IBM System/38. This introduced a machine-based (microcode level) database which was essentially a relational database built in, below the operating system level. Don't get me started on the unique S/38 architecture, which later got enhanced and morphed into the IBM AS/400 and more recently the IBM iSeries Server -- now rebranded the IBM System i (what brand name next year?). And how I believe that Lotus Domino on this server is "the best of all possible worlds" ... Someahere along the way, the unnamed built-in relational database picked up the DB2 moniker ... I could go on forever!

Although I don't specialize in database, I've kept up my interest, and try to keep abreast of major happenings. One of the mnore frequently visited useful links pages on my web site is the database section: see http://asiapac.com.au/Links/Database.htm or its mirror http://notestracker.com/Links/Database.htm

The above is all leading to the db4o open source object database for Java and .NET and specifically to point out a quite interesting article:
  • Inside the db4o Database - Replication made easy
It says that "Besides being open source, db4o's features include an easy-to-grasp API, equally lucid persistence model, and the fact that it is a true object database (not an object/relational mapping database). Add to this its invisible transactioning and its adherence to ACID (atomicity, consistency, isolation, and durability) behavior, and you have an embeddable database that concentrates a lot of power in a small area. ... The entire db4o library is provided in a single .JAR file (or .DLL if you're using .NET), and you'll typically find yourself handling better than 90 percent of your database work with about 10 API calls." It sounds like great stuff.

The article then goes on to explain the workings of the db4o "replication" capability, and even talks about the handling of replication conflicts -- shades of Lotus Notes replication! But, of course, this is in the realm of object relational databases and with a Java and .NET programmability.
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • The programmer/developer/coder role is not dead – and long live the project manager!
    It’s no problem being a geek, it would seem, according to Jason Hiner in his ZDNet blog posting The future of IT jobs? It's in three ...
  • I was going to delay writing this, but here it is anyway …
    What’s the difference between ignorance and apathy?    ANSWER: I don’t know, and I don’t care! It’s been one of those days for me, ...
  • The premise is … I’m getting even madder
    I was reading this IBM Redbook today, and it didn’t make a good first impression: I really love IBM Redbooks, but not at all the way...
  • LotusScript and the Curious Case of the "Name previously declared" error
    During final testing of the NotesTracker Version 5.0 (released on 4/4/2007), I was amazed to get an annoying LotusScript error popping up wh...
  • The "Do no harm" principle
    In all my IT work over the decades, I have always tried to abide by the maxim "Do no harm". A subtitle of this post could be: ...
  • Which one is "bigger" -- Microsoft or IBM?
    There's an IT industry debate that has been going on for a decade or more now, about whether or not " The mainframe is dead." ...
  • Windows 7 SP1 upgrade went horribly wrong … NetBeans IDE 7.0 Beta 2, MailWasher and the Christchurch earthquake
    Installing the Windows 7 Service Pack 1 (SP1) on my workhorse desktop system last Saturday turned into a total disaster for me, a really ...
  • IBM invites you... Tune Your Servers!
    IBM's Redbooks are sometimes of considerable to those who don't use IBM software and hardware, one example of which is TCP/IP Tutori...
  • The benefits of ever-decreasing technology size and weight
    This video obviously applies to the old-style PC hardware of the 1980s and 1990s, so presumably newer technology (such as LCD monitors) i...
  • IBM Symphony Plug-ins site has an Achilles’ Heel
    It seems that a weakness of the IBM Lotus Symphony plug-ins site is that not all of the plug-ins are hosted by IBM, and you can suffer tryin...

Categories

  • Add-ons
  • Adobe Reader
  • AJAX
  • Application Platform
  • Architecture
  • AS/400
  • Asia
  • Australia
  • Bad Software
  • Browser
  • Browser Share
  • Bug
  • Bushfire
  • Business
  • Chemistry
  • China
  • Coding
  • Communication
  • Communities of Interest
  • Crossword
  • Crosswords
  • Curiosity
  • Device Drivers
  • DLL hell
  • Documentation
  • Dragon
  • Durian
  • Ecosystems
  • Error Messages
  • Eudora
  • Extensions
  • Facetiousness
  • Failure
  • Firefox
  • FOSS
  • Freelance
  • Freeware
  • Fun
  • Heat Wave
  • Humor
  • i Series
  • IBM
  • IBM Systems
  • IE
  • Image resource manipulation
  • Innovation
  • Installation
  • Internet Explorer
  • Intranet
  • Japan
  • Koala
  • Linux
  • Live Writer
  • Lotus Domino
  • Lotus Notes
  • Lotus Notes Lotus Domino
  • Lotus Software
  • LotusScript
  • Mainframe
  • Melbourne (Australia)
  • Microsoft
  • Multiple
  • Natural Disaster
  • NaturallySpeaking
  • Nigerian 419 fraud
  • Notes Mail
  • NotesTracker
  • Nuance
  • Open Source
  • OpenNTF.ORG
  • Patents
  • POSS
  • PowerPoint
  • Pragmatism
  • Presenter
  • Print Server
  • Project Management
  • Pronunciation
  • Proprietary
  • Registry
  • Releases
  • Research and Development
  • RIA
  • SDMS
  • Security
  • Service Oriented Architecture
  • SNA
  • SOA
  • Software
  • Software Package
  • speech recognition
  • Spell Checking
  • Standards
  • System i
  • System/38
  • TCP/IP
  • Technology
  • Usability
  • Usability Testing
  • Versions
  • Victoria
  • Weather
  • Web 2.0
  • Web 3.0
  • Web Design
  • Web Pi
  • Web Services
  • Webshots.com
  • Windows
  • Windows 7 backgrounds
  • Words
  • z Series

Blog Archive

  • ►  2013 (25)
    • ►  November (1)
    • ►  October (2)
    • ►  September (1)
    • ►  June (7)
    • ►  May (1)
    • ►  April (7)
    • ►  March (2)
    • ►  February (4)
  • ►  2012 (25)
    • ►  December (7)
    • ►  November (1)
    • ►  October (1)
    • ►  September (3)
    • ►  August (1)
    • ►  July (1)
    • ►  June (6)
    • ►  May (2)
    • ►  April (2)
    • ►  March (1)
  • ►  2011 (20)
    • ►  December (3)
    • ►  November (1)
    • ►  August (1)
    • ►  July (2)
    • ►  June (2)
    • ►  March (4)
    • ►  February (2)
    • ►  January (5)
  • ►  2010 (69)
    • ►  November (2)
    • ►  October (3)
    • ►  September (5)
    • ►  August (13)
    • ►  July (3)
    • ►  June (3)
    • ►  May (2)
    • ►  April (10)
    • ►  March (10)
    • ►  February (8)
    • ►  January (10)
  • ►  2009 (41)
    • ►  December (5)
    • ►  November (6)
    • ►  October (5)
    • ►  September (4)
    • ►  August (1)
    • ►  June (1)
    • ►  May (3)
    • ►  April (2)
    • ►  February (9)
    • ►  January (5)
  • ►  2008 (16)
    • ►  November (3)
    • ►  October (3)
    • ►  August (2)
    • ►  July (3)
    • ►  June (1)
    • ►  April (1)
    • ►  February (1)
    • ►  January (2)
  • ►  2007 (39)
    • ►  October (1)
    • ►  September (1)
    • ►  August (1)
    • ►  July (5)
    • ►  June (1)
    • ►  May (2)
    • ►  April (11)
    • ►  March (5)
    • ►  February (8)
    • ►  January (4)
  • ▼  2006 (98)
    • ►  December (8)
    • ►  November (25)
    • ►  October (6)
    • ►  September (6)
    • ►  August (5)
    • ►  July (6)
    • ►  June (16)
    • ▼  May (17)
      • A Vista on Desktop Search
      • Leery about Theory?
      • The Distributed Computing Fallacies
      • Migration between Microsoft Office and OpenOffice ...
      • Being objective about database replication
      • Well I'll be dammed! ... Or, Dammed Pedantry?
      • Notes Presenter -- Let's eat our own dog food
      • Magnetic Tape is alive and kicking
      • (Additional software license may be required) !!!
      • Back to the Future (with AJAX)
      • Comparing CRM software offerings
      • A Plain Warning
      • What is a "service" and what exactly is SOA?
      • Our tangled web of expertise
      • Business model of Web 2.0 startups
      • How to improve a "creepy mess"
      • Russ Olsen's Five Truths About Code Optimization
    • ►  April (2)
    • ►  March (4)
    • ►  February (3)
  • ►  2005 (38)
    • ►  November (5)
    • ►  September (2)
    • ►  August (10)
    • ►  July (14)
    • ►  June (3)
    • ►  April (3)
    • ►  March (1)
Powered by Blogger.

About Me

Unknown
View my complete profile