File System On Steroids

56 %
44 %
Information about File System On Steroids

Published on April 14, 2008

Author: jukka

Source: slideshare.net

Description

Presentation at ApacheCon EU 2008 in Amsterdam

File system on steroids an introduction to JCR Jukka Zitting Apache Jackrabbit

Jukka Zitting

Apache Jackrabbit

Agenda Big Picture Content Repository Repository Features Apache Jackrabbit

Big Picture

Content Repository

Repository Features

Apache Jackrabbit

The Big Picture User Interface Processing Storage

Our Focus: Storage Main requirements Persistence Consistency Scalability Performance Main alternatives File system Database Network

Main requirements

Persistence

Consistency

Scalability

Performance

Main alternatives

File system

Database

Network

Introducing The Content Repository File system Database Content Repository read write transactions structured integrity query hierarchical streams access control locking observation versioning full text unstructured

JCR, JSR 170, JSR 283 Content Repository for Java Technology API Not just the Java API, but also the content repository semantics POSIX file system defined as a C API Accessible from other environments JVM: Groovy, JRuby, Scala, etc. Network: WebDAV, Ajax (JSON)‏ Ports planned: .NET, PHP

Content Repository for Java Technology API

Not just the Java API, but also the content repository semantics

POSIX file system defined as a C API

Accessible from other environments

JVM: Groovy, JRuby, Scala, etc.

Network: WebDAV, Ajax (JSON)‏

Ports planned: .NET, PHP

Why Something New? Goal: Single API for all storage Universal access No content silos Existing systems don't cover all needs Reiser: “Storage layers above the FS: A sure symptom the FS developer has failed” Solution: Content repository

Goal: Single API for all storage

Universal access

No content silos

Existing systems don't cover all needs

Reiser: “Storage layers above the FS: A sure symptom the FS developer has failed”

Solution: Content repository

Content Repository Semantics Everything is content Hierarchy of named and typed nodes Content in named and typed properties Superset of file system semantics Can be used to store files and folders, and more Can be mounted as a file system With many database semantics

Everything is content

Hierarchy of named and typed nodes

Content in named and typed properties

Superset of file system semantics

Can be used to store files and folders, and more

Can be mounted as a file system

With many database semantics

Granularity of Content

Granularity of Content, 1/2 File systems are typically best with coarse grained content Small files in ReiserFS, NTFS, etc. Extended properties in many systems XML & co for fine grained content DJB: “Don't parse”

File systems are typically best with coarse grained content

Small files in ReiserFS, NTFS, etc.

Extended properties in many systems

XML & co for fine grained content

DJB: “Don't parse”

Granularity of Content, 2/2 Databases are best with fine grained content Blobs are becoming better supported Often special limitations for search, access, etc. Content repository: Uniform interface for both stream and scalar properties

Databases are best with fine grained content

Blobs are becoming better supported

Often special limitations for search, access, etc.

Content repository: Uniform interface for both stream and scalar properties

Structure vs. Flexibility

Structure vs. Flexibility File systems have no constraints Any file or directory can go anywhere Naming conventions and access control Databases have nothing but constraints Structure of content is predefined Content repository: Both structured and unstructured content

File systems have no constraints

Any file or directory can go anywhere

Naming conventions and access control

Databases have nothing but constraints

Structure of content is predefined

Content repository: Both structured and unstructured content

Search

Search Traditionally no search in file systems Custom indexers and search APIs Google Desktop Search Mac OS X Spotlight Lucene in many applications Content repository: Built-in search with full text indexing

Traditionally no search in file systems

Custom indexers and search APIs

Google Desktop Search

Mac OS X Spotlight

Lucene in many applications

Content repository: Built-in search with full text indexing

Transactions

Transactions File systems have limited support for atomic updates The copy-and-move trick No transactions that cover multiple changes Journaling is internal to the system Content repository: Change sets, distributed transactions

File systems have limited support for atomic updates

The copy-and-move trick

No transactions that cover multiple changes

Journaling is internal to the system

Content repository: Change sets, distributed transactions

Versioning

Versioning Typically no tracking of previous versions of content Snapshots in ZFS & co. Version control systems Backups for archival vs. restore purpose Mac OS X Time Machine Content repository: Built-in versioning

Typically no tracking of previous versions of content

Snapshots in ZFS & co.

Version control systems

Backups for archival vs. restore purpose

Mac OS X Time Machine

Content repository: Built-in versioning

Observation

Observation File system change monitoring File Alteration Monitor Polling Event APIs Triggers in databases Content repository: Standard observation API

File system change monitoring

File Alteration Monitor

Polling

Event APIs

Triggers in databases

Content repository: Standard observation API

Apache Jackrabbit

Apache Jackrabbit Fully featured JCR content repository Releases 1.0 in 2006 1.4 available since January 2008 1.5 (with explorer) planned for Q2 2.0 (with JCR 2.0) planned for 2008 Focus on conformance and flexibility

Fully featured JCR content repository

Releases

1.0 in 2006

1.4 available since January 2008

1.5 (with explorer) planned for Q2

2.0 (with JCR 2.0) planned for 2008

Focus on conformance and flexibility

Image credits Images from the morgueFile archive, used as licensed http://morguefile.com/archive/?display=96733 , Infographe_Elle http://morguefile.com/archive/?display=81906 , msxo http://morguefile.com/archive/?display=132988 , imelenchon http://morguefile.com/archive/?display=95446 , ronnieb http://morguefile.com/archive/?display=175657 , seriousfun http://morguefile.com/archive/?display=135511 , rollingroscoe http://morguefile.com/archive/?display=134540 , cohdra http://morguefile.com/archive/?display=196920 , penywise http://morguefile.com/archive/?display=48096 , bluekdesign http://morguefile.com/archive/?display=128133 , gracey

Images from the morgueFile archive, used as licensed

http://morguefile.com/archive/?display=96733 , Infographe_Elle

http://morguefile.com/archive/?display=81906 , msxo

http://morguefile.com/archive/?display=132988 , imelenchon

http://morguefile.com/archive/?display=95446 , ronnieb

http://morguefile.com/archive/?display=175657 , seriousfun

http://morguefile.com/archive/?display=135511 , rollingroscoe

http://morguefile.com/archive/?display=134540 , cohdra

http://morguefile.com/archive/?display=196920 , penywise

http://morguefile.com/archive/?display=48096 , bluekdesign

http://morguefile.com/archive/?display=128133 , gracey

Thank you! Questions / Comments?

Questions / Comments?

Add a comment

Related presentations

Related pages

GitHub - rjeczalik/notify: File system event notification ...

notify - File system event notification library on steroids.
Read more

Consideration of the Anabolic Steroids - Welcome to GOV.UK

Consideration of the Anabolic Steroids September 2010 . 2 ACMD ... 1.4 This system of classification serves to determine the penalties for the
Read more

Download & Install ISESteroids - PowerTheShell

Download & Install ISESteroids. ... Download ISESteroids as ZIP file, ... (which it uses to run scripts in the SYSTEM context to emulate and debug ...
Read more

NFS on Steroids: Building Worldwide Distributed File System

NFS on Steroids: Building Worldwide Distributed File System ... • Read/Write cache appliance “mounts” remote file system and re-exports it
Read more

File - AppGyver Steroids API Documentation

Steroids File System; Steroids Media; Steroids Views; Steroids UI Components; Cordova 3.5.1 API Reference. ... By default, all file-system roots are enabled.
Read more

steroids.File

steroids.File. Represents a file in the device's filesystem. Constructor. The constructor supports a shorthand form of providing only the path parameter:
Read more

Guide for authors - Steroids - ISSN 0039-128X - Elsevier Home

Steroids; Guide for authors; Guide for Authors. ... guided through the creation and uploading of your files. The system automatically converts source ...
Read more

fsck - Wikipedia, the free encyclopedia

The system utility fsck (for "file system consistency check") is a tool for checking the consistency of a file system in Unix and Unix-like operating ...
Read more

Steroid - Wikipedia, the free encyclopedia

Steroid ring system: The parent ABCD steroid ring system ... A steroid is an organic compound with four rings arranged in a specific configuration.
Read more