Lightning Talk given at OwnCloud Contributor Conference 2015 Berlin.
OwnCloud has some design constraints that limits the scalability of the product when is being used in huge deployments.
One component that limits this scalability is the oc_filecache. This talk will propose a new architecture for the handling of the metadata in OwnCloud.
7. What is a cache ?
A cache is a place to store something temporarily in a
computing environment.
A cache is controlled by a cache algorithm that provides
instructions for how the cache should be maintained (LRU,
MRU โฆ)
9. What is a namespace ?
A namespace uniquely identi๏ฌes a name so that there is
no ambiguity when ๏ฌles having different origins but the
same names are mixed together
16. What is oc_๏ฌlecache ?
Is it a cache ?
Is it a namespace ?
So, what is oc_๏ฌlecache ?
No
Not when sharing is enabled
17. What is oc_๏ฌlecache ?
Is it a cache ?
Is it a namespace ?
So, what is oc_๏ฌlecache ?
No
An ad-hoc component which is the foundation of
OwnCloud.
Not when sharing is enabled
19. What does oc_๏ฌlecache ?
1. Provides a hierarchical structure for the ๏ฌles within all the
storages
20. What does oc_๏ฌlecache ?
1. Provides a hierarchical structure for the ๏ฌles within all the
storages
2. Assigns a unique ID to all the ๏ฌles in all the storages
21. What does oc_๏ฌlecache ?
1. Provides a hierarchical structure for the ๏ฌles within all the
storages
2. Assigns a unique ID to all the ๏ฌles in all the storages
3. Propagates changes to the top level directory
35. Bene๏ฌts
Flexibility:
Namespace in different technologies
Scalability:
A namespace per user and not a global one
Take advantage of the storage (geo replication,
checksums, built-in versions and trashbin)
36. Bene๏ฌts
Flexibility:
Namespace in different technologies
Avoid patching the core. Go upstream!!!
Scalability:
A namespace per user and not a global one
Take advantage of the storage (geo replication,
checksums, built-in versions and trashbin)
37. Bene๏ฌts
Move responsibility from the core to NS plugin
developer
Flexibility:
Namespace in different technologies
Scalability:
A namespace per user and not a global one
Take advantage of the storage (geo replication,
checksums, built-in versions and trashbin)
Avoid patching the core. Go upstream!!!
40. Robustness and Scalability
are the most important aspects.
We would like to help improve OwnCloud by
rethinking core architecture based on a scalable
design.
We think that scalable OwnCloud architecture will
bene๏ฌt all users and all market segments.
The message