Article View: cn.bbs.comp.database
Article #639[MYSQL]Using the Pluggable API for TeamDrive
From: Galaxy��VOLUNTEERS��Database
Date: Sun, 30 Nov 2008 05:27
Date: Sun, 30 Nov 2008 05:27
121 lines
6483 bytes
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 [m[1;34m�� ��Դ:����ˮ˼Դ bbs.sjtu.edu.cn��[FROM: 58.35.145.160][m
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!SJTUShow 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