Main > Free Download Search >

Free storage containers software for linux

storage containers

Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 744
vtkContainers 0.3

vtkContainers 0.3


vtkContainers is a container library for VTK. more>>
vtkContainers is a container library for VTK providing list, deque, and vector sequence types; set, map, and hash map associative types; as well as stack, queue, and priority queue adaptor types.

All container implementions, except hash map, are wrappers around an internal C++ STL type. Similar to a vtkCollection, all containers register objects on insertion, unregister them on removal, are wrappable into other languages, and are covered by a unit testing suite. vtkContainers also provides many unique capabilities, higher performance, and support for object level locking.

Though the standard vtkCollection is an excellent general purpose container type that serves the internal needs of VTK very well, specialized containers are often needed for application-level support.

vtkContainers originated as the implementation of a simple stack class for use with parsers or transaction systems and a simple map class for accessing C++ objects by name. The current library grew from the desire to complete the concept by providing all applicable STL container types and their iterators.

<<less
Download (0.25MB)
Added: 2005-07-15 License: GPL (GNU General Public License) Price:
1562 downloads
Storage Inspector 0.5

Storage Inspector 0.5


Storage Inspector is a Firefox extension that makes it easy to view any sqlite database files in the current profile. more>>
Storage Inspector is a Firefox extension that makes it easy to view any sqlite database files in the current profile. This includes the anti-phishing and search engine...

Developer Comments:

There are quite a few polish issues that need to be addressed before this version is ready for the masses. If you notice problems, please view the readme.txt file first and tell me if there are other issues.

You can set the storageinspector.openmode pref to 2 if you want the extension to open in a new tab instead of its own window.

I have primarily tested the extension in Firefox 2b1 but would still like feedback on how it runs in 3a1.

If you dont like something, please post here with a constructive statement telling me what you would like.

<<less
Download (0.040MB)
Added: 2007-07-26 License: GPL (GNU General Public License) Price:
824 downloads
cfgstoragemaker 1.1

cfgstoragemaker 1.1


cfgstoragemaker is an MRTG configuration file generator for storage monitoring via SNMP. more>>
cfgstoragemaker remotely generates an MRTG config file in order to graph all storage devices (disk, memory, and swap) of one or more specific host(s) via SNMP.
<<less
Download (MB)
Added: 2005-04-07 License: GPL (GNU General Public License) Price:
1661 downloads
Peco::Container 1.0

Peco::Container 1.0


Peco::Container is a light inversion of Control (IoC) container. more>>
Peco::Container is a light inversion of Control (IoC) container.

SYNOPSIS

my $c = Peco::Container->new;

$c->register( my_key, My::Class );
$c->register( my_key, My::Class, [ @deps ] );
$c->register( my_key, My::Class, [ @deps ], create );
$c->register( my_key, My::Class, [ @deps ], create, { %attrs } );

$c->register( my_key, My::Class, undef, create );
$c->register( my_key, My::Class, undef, create, { %attrs } );
$c->register( my_key, My::Class, [ @deps ], undef, { %attrs } );

my $instance = $c->get(my_key);
my @instances = $c->get_all();

$c->has(my_key) ? 1 : 0;
$c->is_empty ? 1 : 0;

$c->multicast( method, @args );

Peco::Container is a small, flexible Inversion of Control (IoC) container supporting both Constructor Injection and Setter Injection patterns, as well prototype services (factories) and multicasting.

<<less
Download (0.015MB)
Added: 2007-06-22 License: Perl Artistic License Price:
855 downloads
Jiplet Container 0.1.0b

Jiplet Container 0.1.0b


Jiplet is short for Java SIP Servlet. more>>
Jiplet is short for Java SIP Servlet. Jiplet Container project is an open-source container for server-side SIP applications. An application developer can create a SIP application written in Java using the Jiplet API and deploy the application in the container.
The container provides a number of framework services including support for SIP message parsing and formatting, scoped variables, authentication and authroization, thread-pooling, logging, custom class loading, management interface, etc. It enables application developer to create server-side SIP applications using a component-based model similar to that envisioned by the J2EE architecture.
In fact, it fits very well with the J2EE paradigm for software development and deployment. The jiplet container software can either be run as a standalone Java application or deployed as a service residing in a J2EE server. When running as a J2EE service, the jiplet container can access many of the features offered by the J2EE server.
In addition, The jiplet container is built with the service provider model in mind. In this model, a service provider can host customized SIP applications from their customers in a secure manner similar to the servlet hosting offered by many service providers.
The jiplet container is very similar to a Java HTTP servlet container in concept. A Java HTTP servlet is a Java class that handles HTTP messages from web browsers. Similarly, a jiplet is a Java class that handles SIP messages from SIP user agents (SIP phones and SIP servers).
A servlet container like Apache Tomcat can host one or more web applications (contexts), each consisting of one or more servlets. Similarly, the jiplet container can host one or more SIP applications (contexts) consisting of one or more jiplets.
Similar to the servlet API authored by Sun Microsystems, the jiplet container provides a set of Java classes that jiplet applications extend or use. The services provided by these classes are very similar to those of the servlet API including scoped variables, request forwarding from one jiplet to another, etc.
As in a servlet container, new jiplet applications, or contexts, can be deployed using a zipped file called spr (war is the Java servlet terminology). Since there are differences between the HTTP and SIP protocols, the servlet and the jiplet containers have some notable differences.
However, the jiplet is not a formal specification like the servlet specification. It is also not an implementation of the SIP servlet specification (JSR 116) authored by Sun and its community of users. There are many similarities between the jiplet and the SIP servlet in terms of features. If you are familiar with SIP servlets, you will feel right at home with the jiplet container.
We are planning to continue developing the jiplet container based on feedback provided by that the open-source community. We are hoping that open-source developers will extend this tool and the specification instead of a committee.
Main features:
- Open-source API for developing server-side SIP applications. Based on the JAIN-SIP API.
- Offers component-based development model.
- Servlet-like development and runtime environment.
- Access to powerful JAIN-API from SIP applications.
- JMX management interface for interfacing with management systems.
- Web-based user interface for managing jiplet applications.
- Support for scoped variables including application, session, request, transaction and dialog-scoped variables.
- Support for forwarding SIP messages from one jiplet to another.
- Container-managed authentication and authorization.
- Support for application timers.
- Can run as a standalone application or it can be integrated with JBOSS as a J2EE service.
- Comprehensive support for the service-provider model.
Enhancements:
- The final release (version 1.2) of the NIST SIP stack Reference Implementation has been incorporated into the Jiplet Container and reference applications.
- The new listening point architecture has been integrated into the Jiplet Container SIP connector.
- One connector can now use more than one IP address for SIP messaging.
- Convenience methods have been added to the Jiplet class for jiplet developers to handle additional listening points and SIP providers.
- The Jiplet Container message proxying has been updated to work in a multi-homed environment.
- The software has been tested with Jboss 4.0.5.GA.
<<less
Download (15.2MB)
Added: 2006-09-04 License: GPL (GNU General Public License) Price:
1150 downloads
Basset::Container::Hash 1.04

Basset::Container::Hash 1.04


Basset::Container::Hash Perl module implements a layered hash. more>>
Basset::Container::Hash Perl module implements a layered hash. The easiest way to explain is with an example:
my %x = (a => b);

tie my %y, Basset::Container::Hash, %x; #<<less
Download (0.14MB)
Added: 2007-07-24 License: Perl Artistic License Price:
822 downloads
Class::Container 0.12

Class::Container 0.12


Class::Container is a Perl module with Glues object frameworks together transparently. more>>
Class::Container is a Perl module with Glues object frameworks together transparently.

SYNOPSIS

package Car;
use Class::Container;
@ISA = qw(Class::Container);

__PACKAGE__->valid_params
(
paint => {default => burgundy},
style => {default => coupe},
windshield => {isa => Glass},
radio => {isa => Audio::Device},
);

__PACKAGE__->contained_objects
(
windshield => Glass::Shatterproof,
wheel => { class => Vehicle::Wheel,
delayed => 1 },
radio => Audio::MP3,
);

sub new {
my $package = shift;

# windshield and radio objects are created automatically by
# SUPER::new()
my $self = $package->SUPER::new(@_);

$self->{right_wheel} = $self->create_delayed_object(wheel);
... do any more initialization here ...
return $self;
}

This class facilitates building frameworks of several classes that inter-operate. It was first designed and built for HTML::Mason, in which the Compiler, Lexer, Interpreter, Resolver, Component, Buffer, and several other objects must create each other transparently, passing the appropriate parameters to the right class, possibly substituting other subclasses for any of these objects.

The main features of Class::Container are:

Explicit declaration of containment relationships (aggregation, factory creation, etc.)
Declaration of constructor parameters accepted by each member in a class framework
Transparent passing of constructor parameters to the class that needs them
Ability to create one (automatic) or many (manual) contained objects automatically and transparently

<<less
Download (0.019MB)
Added: 2006-10-06 License: Perl Artistic License Price:
1113 downloads
A MySQL Storage Engine for AWS S3 0.06

A MySQL Storage Engine for AWS S3 0.06


A MySQL Storage Engine for AWS S3 is a plugin storage engine that allows MySQL to access Amazon Web Services. more>>
A MySQL Storage Engine for AWS S3 project is a plugin storage engine that allows MySQL to access Amazon Web Services Simple Storage Service (AWS S3) buckets and items.
You need a MySQL source tree, and you need to have it built.
Figure out where the source tree is.
In my case its /home/mark/mysql/mysql-5.1-arch
Figure out where the target install tree is.
In my case its /home/mark/mysql/builds/example
Figure out where the MySQL build puts storage engine plugins.
Its probably in lib/mysql under the install tree
Or its /usr/lib/mysql
Or its /usr/local/lib/mysql
For me its /home/mark/mysql/builds/example/lib/mysql
Then run:
./config/bootstrap
./configure --with-mysql=/path/to/mysql-source --libdir=/path/to/mysql-plugins
make && make install
You can optionally copy the "src" directory here into storage/ in the
MySQL server source, rebuild MySQL, and things should compile.
Next, you should probably install the S3 command line tools.
They depend on you having Python.
Get them at http://www.hanzoarchives.com/development-projects/s3-tools/
If you dont have one yet, you need an Amazon AWS account, and then
request that they enable S3. Go to http://amazonaws.com/ to do that.
You will need to get your "AWS Access Key Identifiers".
Assume they are
FV8CY5793BC7CY32YOSN
W9oQxQNJizGgjxNc82giE9/ipefQW19tuO2xpC9G
(I just made those up with a random number generator.)
Put this in your .bashrc file
AWS_ACCESS_KEY_ID=FV8CY5793BC7CY32YOSN
AWS_ACCESS_KEY_SECRET=W9oQxQNJizGgjxNc82giE9/ipefQW19tuO2xpC9G
export AWS_ACCESS_KEY_ID AWS_ACCESS_KEY_SECRET
This isnt used by the storage engine, but it makes using the s3 command
line tools easier.
Use s3mkbucket to create a bucket. Remember that buckets are in a
global namespace, and there are advantages to having them look lik a
domain name. I suggest you snap up "s3.example.com", where
"example.com" is your own domain name.
s3mkbucket s3.example.com
s3put -k solfege/Do -s "a deer, a female deer" s3.example.com
s3put -k solfege/Re -s "a drop of golden sun" s3.example.com
s3put -k solfege/Mi -s "a name I call myself" s3.example.com
s3put -k solfege/Fa -s "a long long way to run" s3.example.com
s3put -k solfege/So -s "a needle pulling thread" s3.example.com
s3put -k solfege/La -s "a note to follow So" s3.example.com
s3put -k solfege/Ti -s "a drink with jam and bread" s3.example.com
Then at the mysql> prompt
create table s3notes (s3id varchar(255) not null primary key, s3val blob)
engine=AWSS3
connection=awss3 s3.example.com FV8CY5793BC7CY32YOSN W9oQxQNJizGgjxNc82giE9/ipefQW19tuO2xpC9G;
select * from s3notes where s3id=solfege/Re;
insert into s3notes (s3id, s3val) values (color/Red, ff 00 00);
select * from s3notes where s3id=color/Red;
delete from s3notes where s3id=color/Red;
You can name the table anything you want, but the fields must be named s3id and s3val, and s3id must be the primary key.
Enhancements:
- More flexible schema, CREATE SERVER, and SELECT without WHERE are supported.
<<less
Download (0.32MB)
Added: 2007-04-20 License: GPL (GNU General Public License) Price:
548 downloads
Storage Resource Broker 3.4.2

Storage Resource Broker 3.4.2


Storage Resource Broker is a network data storage middleware. more>>
Storage Resource Broker is client-server middleware that provides a uniform interface for connecting to heterogeneous data resources over a network and accessing replicated data sets.
SRB, in conjunction with the Metadata Catalog (MCAT), provides a way to access data sets and resources based on their attributes and/or logical names rather than their names or physical locations.
Starting with SRB 2.1.1 we now have an install script, install.pl, that can do a complete Postgres, MCAT and SRB installation. See README.MCAT.INSTALL. With SRB 3.0.0, this script can run on Solaris too, as well as the original Linux and Mac OS X.
The SEA authentication system is no longer recommended; for the secure authentication use either the ENCRYPT1 form of MDAS_AUTH authentication, or GSI. It should be noted that if the SEA authentication scheme is to be used and if the SEA library (libsea.a) does not already exist on your build platform, the SEA software that can be downloaded at the
URL must be built first.
1) Build configuration.
This version uses the configure script to configure the build. Most of the configurable parameters for building the SRB server and client can be configured using the "./configure" script. Run "./configure --help" for more information.
All configurable parameters for building the SRB server and the client library, including those set by the configure script, are defined in the mk/mk.config.in file. (The configure script automatically generates a third file, mk/mk.config, using mk/mk.config.in as a
template.)
Those parameters that cannot be modified via the configure script (because flags for those parameters have not yet been implemented) are set by directly editing the mk/mk.config.in file prior to running "./configure". Comments in the mk/mk.config.in file make it clear whether or not a particular parameter can be set through the configure
script, and if so, how to do so.
NOTE: The configure script does a number of self tests before the configuration is carried out. One of the test it does is the compiler test which it assumes "gcc" as the default compiler. If "gcc" is not installed or if the test of "gcc" failed (which happened on an AIX platform), the configure script should be re-run with the env variable CC set to cc or other compilers. This will override the default in the compiler test.
If the configure script still failed, do the following:
a) cd SRB2_0_0rel
b) ./config.rescue
c) edit the mk/mk.config file
2) Configure examples
a) Non-MCAT-enabled server and client, type in
configure
This will configure the mk.config file to build a non-MCAT enabled
server and client with the default settings.
b) Non-MCAT-enabled server and client with java enabled, type in
configure --enable-javagui=yes --enable-jdkhome=/usr/local/apps/jdk1.4.1
where /usr/local/apps/jdk1.4.1 is the directory where the JAVA JDK 1.4.1
is installed.
c) MCAT-enabled server with Oracle 8.1.5 MCAT, type in
configure --enable-oramcat --enable-oraver=815
--enable-orahome=/usr/local/apps/oracle/product/8.1.7
where /usr/local/apps/oracle/product/8.1.7 is the Oracle home
directory.
2) Parameters in the mk/mk.config file
The SRB architecture supports multiple SRB servers running on various hosts. Each SRB server may be built with different options, as set by the configure script and/or defined in the mk/mk.config.in file. For example, the SRB server on host A may include the driver for accessing HPSS and the SRB server on host B may include the driver for accessing the Lobj stored in DB2, etc.
The parameters are self-explanatory through the comments given in this file. Some of the more important parameters are discussed below:
installDir - The absolute path of the SRB install directory.
PORTNAME - The OS platform of this SRB port. Currently, the SRB software runs on 8 platforms. i.e., valid PORTNAMEs are :
PORTNAME_solaris, PORTNAME_sunos, PORTNAME_linux, PORTNAME_osx,
PORTNAME_aix, PORTNAME_alpha, PORTNAME_c90 and PORTNAME_sgi.
SRB_LARGEFILE64 - defines whether the 64 bit file size is supported by the underlining driver of this SRB server. Current, 64 bit file size is supported by the ORTNAME_solaris, PORTNAME_aix, PORTNAME_linux and PORTNAME_c90 platforms.
ORAMCAT - defines that this SRB server being built is MDAS enabled and the MCAT is stored in Oracle DBMS. Normally, only one SRB server is MDAS enabled.
DB2MCAT - defines that this SRB server being built is MDAS enabled and the MCAT is stored in Oracle DBMS. Normally, only one SRB server is MDAS enabled.
NOTE : Both ORAMCAT and DB2MCAT cannot be defined at the same time.
ADDR_64BIT - defines whether to compile for 64 bits address. This option has only been tested for the the Solaris and Linux platforms.
PARA_OPR - defines whether this SRB server support parallel operation API.
MDAS_AUTH - defines whether the plain text and encrypted password MDAS authorization scheme will be supported. If used, the user/passwd pair registered with the MDAS catalog will be used to authenticate a user. Comment it out if the SRB server does not support MDAS authorization.
NOTE : A server can be built to support either MDAS_AUTH (plain or encrypted (ENCRYPT1)) or GSI_AUTH, or both.
SEA_AUTH - defines whether SEA authorization scheme will be supported. The software can be configured to support both SEA_AUTH and MDAS_AUTH. (SEA is no longer recommended.)
LIB_SEA - Is needed only if SEA_AUTH is defined. LIB_SEA specifies where the SEA client library is located.
GSI_AUTH - defines whether the GSI authentication scheme is supported. This is set when --enable-gsi-auth is included on the configure line.
NOTE : A server can be built to support either MDAS_AUTH or GSI_AUTH,
or both.
LIB_GSI_AUTH - Set by configure when --enable-gsi-auth is included (i.e. GSI_AUTH is defined). LIB_GSI_AUTH specifies where the GSI client libraries are located. The optional configure --enable-globus-location=path can also be used specify the parent
location of the GSI libaries, and will cause LIB_GSI_AUTH to be adjusted.
JAVA_GUI and javaDir - JAVA_GUI defines whether the srbBrowser should be built. javaDir specifies the directory where the JDK software is installed. (e.g. /usr/local/apps/Java). See README.srbBrowser for more details.
3) "cd" to the main SRB directory and type in "gmake clean" and then "gmake" to make the SRB software. The Makefile contains various options to make and clean all or a subset of the build.
- gmake --- build all.
- gmake clean --- clean all.
- gmake srb --- build only the SRB server and client.
- gmake clean_srb --- clean only the SRB server and client.
- gmake util --- build only the utilities (S commands). See README.utilities for more details.
- gmake clean_util --- clean only the utilities.
- gmake browser - build only the java srbBrowser GUI. See README.srbBrowser for more details.
- gmake clean_browser - clean only the java srbBrowser.
4) (Optional) Type in "gmake install" to install the software in the $(installDir) directory. This procedure installs the following modules in the $(installDir) directory:
bin/runsrb - The script that starts the SRB
bin/srbMaster2_0_0 - The frontend server.
bin/srbServer - The backend server (forked by the srbMaster1_0 for each client connection).
bin/libSrbClient.a - The client library.
data/hostAuthConfig - The optional (needed only if HOST_BASED_AUTH in the mk.config file is set) host based authorization configuration file.
data/mcatHost - This file identifies the host on which the MCAT enabled SRB server is running.
data/hostConfig - This is the optional SRB host configuration file. It is only needed when when you want to add aliases to your local hostName.
data/hpssCosConfig - This is the optional HPSS Class of Services configuration file. It is only needed if HPSS in the mk.config file is set.
data/hpssNodceAuth - The file contains authentication info for non-dce HPSS. It is only needed if the HPSS and NO_DCE flags in the mk.config file are set.
data/MdasConfig - The MDAS configuration file.
data/metadata.fkrel - This file defines the foreign key relationship between the MDAS catalog tables and is used internally by the SRB for query generation. This file should not be changed between releases.
data/LobjConfig - The database configuration file for the DB Large Object driver. Basically, it contains the userID and password for accessing each database server.
Enhancements:
- Three vulnerabilities that allow SRB users to read/write non-Vault files that are readable/writable by the the srbadmin user were fixed.
- A bug that causes the GridFTP driver to use the wrong credential to connect to GridFtp server was fixed.
- A file descriptor lock bug was fixed.
- Uploading files larger than 2 gigabytes into GridFtp resources now works.
- Timeout bugs that could arise when sending large numbers of files were fixed.
- A core dump problem for HPSS type resources involving parallel I/O on Linux servers was fixed.
- A new option -o was added to show collection ownership in SgetColl.
<<less
Download (16.5MB)
Added: 2006-07-07 License: Free For Educational Use Price:
1207 downloads
Apache-Storage 1.00

Apache-Storage 1.00


Apache::Storage is Perl module containing simple functions to store and retrieve information from within the Apache process. more>>
Apache::Storage is Perl module containing simple functions to store and retrieve information from within the Apache process.
<<less
Download (0.004MB)
Added: 2005-08-24 License: GPL (GNU General Public License) Price:
1521 downloads
Twisted Storage 0.1.5

Twisted Storage 0.1.5


Twisted Storage is an application that will take your data and manage it for you, just like a file system. more>>
Twisted Storage is an application that will take your data and manage it for you, just like a file system. But Twisted Storage goes way beyond what a normal file system does.
What types of "objects" are stored in Twisted Storage : just regular files. The data stored in the system is expected to be fixed content, meaning it doesnt change at all. If you read the data back, change it, and store it, it is considered a different file. There are plenty of examples of fixed content data : emails you received, movies or mp3 files you made or own, documents you wrote, etc. In fact it is estimated that 80% of the data you have on your computer is fixed, reference data.
Your Twisted Storage system can start out small - a single computer with a few disk drives. When you need more storage you can add more disk drives and more computers. But it has been designed to store petabytes worth of data without requiring any special hardware. For example storing a petabyte worth of data, using the biggest disk drives available today (500 GB), would require 2000 disk drives. To overcome the need of special hardware, Twisted Storage is a scalable, distributed system using ordinary commodity computers. Even so that petabyte of data would require 500 computers networked together and that requires special handling.
Twisted Storage has a few features you wont find in any file system. For example once a file is added to the Twisted Storage repository it can be written in multiple locations simultaneously. The system has been designed to be compliant with Sarbanes-Oxley Act: when an object is added to the repository you can no longer delete it and the integrity of the contents are guaranteed. In addition any access to the object is recorded.
Main features:
Scalable to thousands of servers and multiple petabytes of data.
- Regardless of how much data you want to store,Twisted Storage is designed to handle it. The system can grow from one computer and a few disks to hundreds of systems and thousands of disk drivers.
Automatic data recovery without human intervention.
- Twisted Storage doesnt require backup/restore software or procedures. All data written to the system is recorded in multiple locations.
No special disaster recover procedures.
- So long as you have your systems in physically different locations and you have instructed the software to write the multiple copies to those systems, you have no-hassle disaster recover. If one of the sites goes down, the system will retrieve any data from the other systems. Additionally, once the disaster site is up and running, the system will automatically restore the data to the it.
Simplified configuration.
- To ease management of the system, you can change any one systems configuration and have it ripple through out the system.
<<less
Download (0.55MB)
Added: 2006-10-25 License: GPL (GNU General Public License) Price:
1094 downloads
Metastorage 2006.11.22

Metastorage 2006.11.22


Metastorage is a PHP data access object generator compiler tool. more>>
Metastorage is a PHP data access object generator compiler tool.
Metastorage is an application that automatically generates code for an Object Oriented API to store, retrieve and manipulate the persistent objects of classes described in a high level data model definition.
Metastorage provides a much more efficient development process for medium or large size applications that store and retrieve data from SQL based databases or other types of storage persistence containers, like XML files, flat file databases or LDAP servers.
When storing objects in SQL databases, Metastorage generated code performs efficient object-relational mapping. Metastorage antecipates static storage optimization decisions at compile time, so applications gain in performance, code size and memory usage by avoiding evaluating static decisions at run time.
Main features:
XML definition format
- Easy to write and understand component definition format in XML
Database schemas
- Automatic generation of (database) schema definition of the persistence container
Automatic generation of all classes
- Generates all the code for the data classes, factory class and (database) schema installation class
Self-contained code
- The generated code is self-contained and does not depend on MetaL or libraries of code that are not supplied
Object Query Language
- Provides an Object Query Language (OQL) to define expressions to filter objects in search queries
No SQL
- All code is generated without the need for the developer to write SQL code manually
Forms
- Generation of classes to create, validate and process Web forms to manage objects of the data classes.
Reports
- Generation of classes to execute queries to retrieve data from many objects to elaborate reports or to execute another kind of bulk processing
UML Diagrams
- Automatic generation of Entity-Relationship graphs in UML of the component class diagram
<<less
Download (0.88MB)
Added: 2006-11-22 License: BSD License Price:
1066 downloads
BerkeleyDB Backend Storage Engine for DURUS 20070503

BerkeleyDB Backend Storage Engine for DURUS 20070503


BerkeleyDB Backend Storage Engine for DURUS provides a storage engine for DURUS, a persistence system for the Python language. more>>
BerkeleyDB Backend Storage Engine for DURUS project provides a storage engine for DURUS, a persistence system for the Python programming language.
Some advantages compared to Durus standard FileStorage:
- Startup time is negligible.
- You dont need an in-memory index, so your repository size is only limited by storage space, not RAM.
- If you change existing objects, your storage size doesnt increase.
- If you delete objects, those objects are garbage collected in background, slowly, without performance degradation.
- You can still do a full fast collection, if you need it. While this collection is in progress, Durus still serves objects. From time to time, nevertheless, it can be unresponsible for 2 or 3 seconds, while is doing a checkpointing to be able to free database logging diskspace.
- Garbage collection doesnt increase storage size. Neither RAM usage.
- Garbage collection deletes objects using nondurable transactions, very efficiently. If the collection is aborted abruptly (program or machine crashes), the collection will start again from the beginning. If the GC finishes without problems, that state is durable.
- Any object store in the storage will commit a durable transaction, including all objects released in the background garbage collector, along the way.
- Garbage collection time is proportional to garbage, not repository size.
There are some disadvantages, nevertheless:
- IMPORTANT: This backend uses reference counting to decide when an object is garbage and can be collected. So, if you have cycles in your data structures, you **MUST*BREAK** them before releasing the objects.
- Failing to do that will leak diskspace. It is possible that in a future release we can collect cycles, but try to avoid that pattern.
- Leaking objects will grow the diskspace, but **NO** corruption or malfunction will happen. No other secondary effect.
- Although this code could work on Windows, I havent checked it. Absolutely no garantee!.
- Sometimes this backend can become irresponsible for a couple of seconds. It is busy doing a checkpoint to recycle database logging space. The pause should be sort, nevertheless.
- Dont use this storage backend over NFS, at least you know what is going on.
- Since we are using BerkeleyDB as the backend:
- You should be experienced with BerkeleyDB deployments.
- Beware when updating Python or BerkeleyDB. In particular, BerkeleyDB is known by breaking (but they DOCUMENT!) binary compatibility between versions. In this case, they ALWAYS document the procedure to do a controlled upgrade, so dont worry. But take note of the risk.
- To do a trustable backup, you should follow instructions in BerkeleyDB documentation:
- http://www.sleepycat.com/docs/ref/transapp/reclimit.html
- http://www.sleepycat.com/docs/ref/transapp/archival.html
- http://www.sleepycat.com/docs/utility/db_hotbackup.html
- In Python you can use the standard "bsddb" or the up-to-date "bsddb3" bindings (which will be included in new python versions). This product will try to use always the more recent BerkeleyDB bindings. Be careful about BerkeleyDB version changes when you update the bindings.
- Since BerkeleyDB files are binary structures, a corrupt database can be unrecoverable. Be diligent and careful with your backups.
You can use this product both as a normal (local) filestorage, or a server (remote) storage system, just like the usual Durus FileStorage.
Enhancements:
- Compatibility with Durus 3.7 was added.
<<less
Download (0.033MB)
Added: 2007-05-03 License: GPL (GNU General Public License) Price:
907 downloads
FileSystemStorage 2.5.2

FileSystemStorage 2.5.2


FileSystemStorage is a project that provides FileSystem storage for Archetypes. more>>
FileSystemStorage is a project that provides FileSystem storage for Archetypes.

FileSystemStorage is an Archetype storage for storing data on FileSystem This storage is used to avoid ZODB to grow quickly when using a lot of large files.

<<less
Download (0.070MB)
Added: 2007-02-09 License: GPL (GNU General Public License) Price:
987 downloads
ObjectiveLib 0.10

ObjectiveLib 0.10


ObjectiveLib is a framework for Objective-C that provides a set of object containers and generic algorithms. more>>
ObjectiveLib is a framework for Objective-C that provides a set of object containers and generic algorithms. It is designed to provide the same services to Objective-C programmers that the Standard Template Library provides to C++ programmers.
All of the standard containers (vector, deque, list, map, set, and others) and standard algorithms from the STL are included. Additionally, a set of iterator classes is provided to connect containers to generic algorithms.
A full set of binary streams is provided, which include file, memory buffer and socket streams, as well as layering streams that can buffer and/or compress data.
Enhancements:
- A complete set of binary streams has been added.
- These include streams that can read and write to/from files, memory buffers, and sockets. Additionally, layering streams are included that can buffer data, compress data (3 compression streams are provided), and manage object graphs written to the stream.
- Some method names that did not conform to the Cocoa naming conventions have been changed.
<<less
Download (0.45MB)
Added: 2005-07-15 License: GPL (GNU General Public License) Price:
1561 downloads
Secleted [ 0 ] software to compare
  • Page: 1 of 5
  • 1
  • 2
  • 3
  • 4
  • 5