Archive for the 'chandlerdb' Category

Feeds: RSS | Atom

Encrypting a repository

June 17th, 2005 at 5:19 pm (3 years, 1 month ago) by Andi Vajda under chandlerdb

Sleepycat’s Berkeley DB software, which provides the persistence underpinnings to Chandler’s repository, can be configured to use the AES (Rijndael) algorithm to encrypt its data files.

Read the rest of this entry »


Comparing items for sameness

May 27th, 2005 at 1:20 pm (3 years, 1 month ago) by Andi Vajda under chandlerdb

While an item’s UUID is normally used to compare items for sameness, there are times when it is useful to compare item instances with different UUIDs as, for example, while importing items from another repository. The Item class does not implement any Python comparison hook functions, comparing items is left to the implementors since meaningful item comparison depends on the items’ schema and on the knowledge of the implementor. For instance, not all attributes are equally relevant, some may even be completely irrelevant for comparison purposes. To help with this, a new API, hashItem(), was added to the Item class. Two items can be defined to be the ’same’ when their hash values are the same.

Read the rest of this entry »


Importing items

April 15th, 2005 at 4:04 pm (3 years, 3 months ago) by Andi Vajda under chandlerdb

Now that items can be created in a null repository view, how about persisting them ? By definition, a null repository view, is not capable of persisting items. In the context of Phillip Eby’s Schema API proposal, items are persisted in python code and instantiated into the null repository view upon python’s loading of the module.

Read the rest of this entry »


A null repository view

April 15th, 2005 at 3:39 pm (3 years, 3 months ago) by Andi Vajda under chandlerdb

In order to support Phillip Eby’s proposal for a python-based Schema API, I added support for a repository-less repository view.

Read the rest of this entry »


Macro and micro performance tuning

March 21st, 2005 at 8:32 am (3 years, 4 months ago) by Andi Vajda under chandlerdb

The focus of the repository work for Chandler’s 0.5 release was mostly about startup and commit performance. The approach taken was to run these operations in the hotshot profiler to find out more about the slow areas and rework them. This macro-performance effort can yield useful results. For instance, commit was made twice as fast by rewriting it to not use any XML.
For 0.6, I’d like to also look at performance at the micro-level.

Read the rest of this entry »


The demise of XML

February 2nd, 2005 at 1:24 pm (3 years, 5 months ago) by Andi Vajda under chandlerdb

One focus of development in the repository project for the Chandler 0.5 release has been performance. After removing dbxml from the persistence implementation stack, I continued by removing the use of XML for persistence altogether.

Read the rest of this entry »


Cloud-based item deletion

February 2nd, 2005 at 1:05 pm (3 years, 5 months ago) by Andi Vajda under chandlerdb

As with item copying Item clouds can now be used to define a set of items to delete together.

Read the rest of this entry »


Using attribute monitors

February 2nd, 2005 at 12:16 pm (3 years, 5 months ago) by Andi Vajda under chandlerdb

An attribute monitor is a method defined on an item that is invoked when something happens to the attribute(s) it registered an interest in. That invocation is synchronous and reacts to changes on items in the same repository view as the item of the method being invoked.

Read the rest of this entry »


Repository storage changes

November 15th, 2004 at 10:15 pm (3 years, 8 months ago) by Andi Vajda under chandlerdb

A year and a half ago, when the Chandler repository project was (re-)started, I chose to use Sleepycat’s Berkeley DB and DBXML for the persistence layer. Read the rest of this entry »


Item version merging

October 27th, 2004 at 2:18 pm (3 years, 9 months ago) by Andi Vajda under chandlerdb

The transaction model chosen for Chandler’s repository calls for item version merging. In the Chandler 0.4 release, version merging is mostly implemented, with a few notable exceptions.

Read the rest of this entry »