🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: cn.bbs.comp.database
Article #639

[MYSQL]Using the Pluggable API for TeamDrive

#639
From: Galaxy��VOLUNTEERS��Database
Date: Sun, 30 Nov 2008 05:27
121 lines
6483 bytes
http://dev.mysql.com/tech-resources/articles/teamdrive_pluggable_api.html

Overview
At TeamDrive Systems we have been using the MySQL 5.1 "Pluggable API" since 
May 2008. As an OEM customer, we embed the MySQL Server into our product, 
the TeamDrive client.

Purpose of our application
TeamDrive Systems provides smart collaboration software, a scalable 
platform and Internet services, which enable users to build millions of 
micro-social networks and/or virtualize their own documents to share (sync) 
among their personal devices as well as among their friends. TeamDrive 2.0 
is both software and a service. The smart client software is intuitive to 
use, watches folders in the file system and enables automatic 
synchronization, automatic versioning and automatic encryption, providing 
privacy and security for personal and corporate workspaces without any 
necessity of an own server and enhanced IT infrastructure. 


 
Team Drive Client Architecture 

Documents (i.e. Office-files, photos, music, videos...) are always 
accessible, even when offline. In conjunction with the robust and scalable 
TeamDrive services, our solution allows secure cross-company as well as 
cross-platform collaboration. Its simplicity, ease of use and the very 
highest security standard (SOX compliance) renders it the collaboration 
platform of choice for everybody and even corporations, too. TeamDrive 
eliminates e-mail chaos, repetitive search for latest versions and security 
risks. Its built-in backup and versioning techniques stand for virtually 
"un-losable documents". Users enjoy greatly improved productivity, 
increased by up to 50%. Secure ad-hoc collaboration across company borders 
is finally usable by individuals, without the need of an IT department. All 
with minimum cost for the user.

TeamDrive 2.0 is a complete new technology; new client architecture and 
paired with our new cloud computing back-end server architecture an 
un-paralleled solution. With our technology, the dream of seamless 
collaboration is finally there: millions of individuals can easily share 
hundred thousands of personal files each, securely under their own control, 
almost unnoticeable in the background of their file system.


 
Team Drive Cloud Architecture 

Technically speaking, a TeamDrive client tracks relevant changes on a local 
directory tree and keeps a history of changes. Those changes are sent to a 
central server which has the task to store and serialize them. Finally, 
these changes are downloaded by other connected clients and integrated into 
their local directory tree. This ensures a fully featured bidirectional 
replication to other clients. As a result, each client can work online and 
offline on the same data. The built-in handling of conflict and local 
versioning, which offers the necessary user convenience functions, can 
technically be understood as an implicit optimistic locking of files in a 
distributed system. Internally, TeamDrive works with an intelligent client 
and a relatively simple server. So there is a MySQL Server 5.1 with the 
PBXT Storage Engine running on every TeamDrive client.

The reason we need MySQL 5.1 is the pluggable API: MySQL together with PBXT 
helps us to handle BLOBs in a very efficient way. MySQL and PBXT are cross 
platform available.

Our development environment and supported platforms
The TeamDrive client application is developed using the Trolltech/Nokia Qt 
GUI library, C++ and Java. Development tools include Eclipse and Subversion 
(SVN)

The TeamDrive client will be available for Microsoft Windows, Mac OS X and 
Linux.

How MySQL 5.1 meets our needs
A local client application doing file system change tracking and 
versioning, as well as offering a clickable UI to review changes. As the 
client is part of the user interface, it is necessary to provide good 
performance and concurrency to achieve fast UI responsiveness.


 
Screen shot of the TeamDrive Client 

The new MySQL 5.1 pluggable storage engine API is essential to the success 
of our project because we are using custom 3rd party engines. In 
particular, we use the PBXT transactional storage engine from PrimeBase 
Technologies for table storage. The plugin API also allows to add support 
for streaming BLOB data in and out of the database. Now, with the 
possibility of custom extensions at the storage level added to an already 
great product, Sun has provided a very compelling solution!

Other aspects that led to our choice of MySQL:

MySQL 5.1 just does what it is supposed to do. 
MySQL 5.1 is well documented, even for somebody who is not a everyday 
worker on databases. 
MySQL 5.1 is fast and has good concurrency behavior. Using the built in 
logging and profiling features it was easy to optimize queries to be 
efficient in a way, that you don't notice the complexity of the system. 
Using the Bug Tracking System, we got all the necessary information about 
known bugs and progress of fixes. On critical bugs we received good support 
and help. 
Our general decision was also affected by meeting the following criteria:

Small footprint 
Simple installation 
Cross platform 
High concurrency 
Pipe protocol available on windows 
Pluggable storage engine interface 
Using PBXT 
Efficiency for handling blobs (This allows storage of changes much more 
efficiently) 
Special option feature: auto increment never returns the same value 
We would like to thank the MySQL developers for giving us the tools that 
help us to make TeamDrive better, easier and faster!
 
--
Welcome to Database Board
��ӭ������ݿ��
http://bbs.sjtu.edu.cn/bbsdoc?board=database

�� ��Դ:����ˮ˼Դ bbs.sjtu.edu.cn��[FROM: 58.35.145.160]
Technical Details
Message-ID: <4dG40S$aab@bbs.sjtu.edu.cn>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!feeder.news-service.com!news.isoc.lu!news.shec6.edu.cn!SJTU

Show Full Headers
Complete Article Headers
X-Google-Thread: 101948,57d28dd52e2413e5,start
X-Google-Attributes: gid101948,domainid0,public,usenet
X-Google-Language: ENGLISH,GB
Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!feeder.news-service.com!news.isoc.lu!news.shec6.edu.cn!SJTU
From: Dem.bbs@bbs.sjtu.edu.cn (Galaxy��VOLUNTEERS��Database)
Newsgroups: cn.bbs.comp.database
Subject: [MYSQL]Using the Pluggable API for TeamDrive
Date: 30 Nov 2008 05:27:11 GMT
Organization: ��ˮ˼Դ
Message-ID: <4dG40S$aab@bbs.sjtu.edu.cn>
Mime-Version: 1.0
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: 8bit
X-Filename: database/M.1228022812.A