Your SlideShare is downloading. ×
DeveelDB in the Cloud (CloudB) <ul>FOSDEM 2011 Mono Dev Room Bruxelles, 5 February Presented by Antonello Provenzano  (ant...
The Presentation  <ul><li>Background
Solution
Architecture
Community
Future Developments
Questions </li></ul>
The Background.
The Main Players <ul><li>Relational Databases </li><ul><li>Structured (data modeling)
Consistent (data integrity checks)
Standard Syntax (SQL – PL/SQL, T-SQL) </li></ul><li>NoSQL (Mongo, Couch, BigTable, Cassandra </li><ul><li>Fast (distribute...
Scalable (networked storage)
Open Protocols (HTTP, JSON, XML, etc.) </li></ul></ul>
What Else? <ul><li>Parallel Databases </li><ul><li>Distributed Storage
Distributed Computation </li></ul><li>Resource Sharing </li><ul><li>Shared Memory
Shared Disks
Shared Nothing </li></ul></ul>
The Solution.
Model Agnostic <ul><li>Pluggable </li><ul><li>No default data model
Data Process API (Path Functions) </li><ul><li>Delegated data processing
Consensus on transaction commits </li></ul><li>Multiple Path Types </li><ul><li>In the same network </li></ul></ul></ul>
Scalable <ul><li>Master Nodes </li><ul><li>Handle the network
Entry point for clients </li></ul><li>Root Nodes </li><ul><li>Handle Paths
Use and share blocks </li></ul><li>Block Nodes </li><ul><li>Manage data storage and processing </li></ul></ul>
A Simple Network
Paths <ul><li>Define the data model
Process data at commits </li><ul><li>Green light to data storage (consensus)
Proprietary implementation </li></ul><li>Share memory </li><ul><li>Path roots handle block data portions </li></ul></ul>
Paths (An Example)
Upcoming SlideShare
Loading in...5
×

Cloudb @ FOSDEM 2011

331

Published on

The presenatation of CloudB (DeveelDB in the Cloud) that I gave at FOSDEM 2011 in Bruxelles

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
331
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • &amp;quot;A Relational Model of Data for Large Shared Data Banks&amp;quot; in 1970 (F. Codd)
  • Transcript of "Cloudb @ FOSDEM 2011"

    1. 1. DeveelDB in the Cloud (CloudB) <ul>FOSDEM 2011 Mono Dev Room Bruxelles, 5 February Presented by Antonello Provenzano (antonell@deveel.com) </ul>
    2. 2. The Presentation <ul><li>Background
    3. 3. Solution
    4. 4. Architecture
    5. 5. Community
    6. 6. Future Developments
    7. 7. Questions </li></ul>
    8. 8. The Background.
    9. 9. The Main Players <ul><li>Relational Databases </li><ul><li>Structured (data modeling)
    10. 10. Consistent (data integrity checks)
    11. 11. Standard Syntax (SQL – PL/SQL, T-SQL) </li></ul><li>NoSQL (Mongo, Couch, BigTable, Cassandra </li><ul><li>Fast (distributed computation)
    12. 12. Scalable (networked storage)
    13. 13. Open Protocols (HTTP, JSON, XML, etc.) </li></ul></ul>
    14. 14. What Else? <ul><li>Parallel Databases </li><ul><li>Distributed Storage
    15. 15. Distributed Computation </li></ul><li>Resource Sharing </li><ul><li>Shared Memory
    16. 16. Shared Disks
    17. 17. Shared Nothing </li></ul></ul>
    18. 18. The Solution.
    19. 19. Model Agnostic <ul><li>Pluggable </li><ul><li>No default data model
    20. 20. Data Process API (Path Functions) </li><ul><li>Delegated data processing
    21. 21. Consensus on transaction commits </li></ul><li>Multiple Path Types </li><ul><li>In the same network </li></ul></ul></ul>
    22. 22. Scalable <ul><li>Master Nodes </li><ul><li>Handle the network
    23. 23. Entry point for clients </li></ul><li>Root Nodes </li><ul><li>Handle Paths
    24. 24. Use and share blocks </li></ul><li>Block Nodes </li><ul><li>Manage data storage and processing </li></ul></ul>
    25. 25. A Simple Network
    26. 26. Paths <ul><li>Define the data model
    27. 27. Process data at commits </li><ul><li>Green light to data storage (consensus)
    28. 28. Proprietary implementation </li></ul><li>Share memory </li><ul><li>Path roots handle block data portions </li></ul></ul>
    29. 29. Paths (An Example)
    30. 30. Transactional <ul><li>Optimistic Concurrency Control
    31. 31. Isolated Snapshots </li><ul><li>Historical Snapshots Accessible
    32. 32. Restoreable </li></ul><li>Versioned data </li><ul><li>Each commit creates a new branch </li></ul></ul>
    33. 33. Commit (Success)
    34. 34. Commit (Failed)
    35. 35. Version Access
    36. 36. Software Architecture
    37. 37. Modular & Flexible <ul><li>Kernel Library </li><ul><li>Data Management
    38. 38. Network
    39. 39. Configuration, Diagnostics </li></ul><li>Path Libraries </li><ul><li>CloudB|ase (string key/value, binary files)
    40. 40. SQL (experimental)
    41. 41. CloudbObj (planned) </li></ul></ul>
    42. 42. DataFile Class <ul><li>Spans data across the network
    43. 43. Can be obtained by Transaction
    44. 44. Streamable </li></ul>
    45. 45. Component Stack
    46. 46. Applications <ul><li>mnode (machine node) </li><ul><li>Standalone Console Server
    47. 47. Daemon (experimental)
    48. 48. Exposes a machine to the network </li></ul><li>cadmin (cloud administration tool) </li><ul><li>Console Application (REPL)
    49. 49. Interacts with Admin Service of a Node </li></ul></ul>
    50. 50. The Community
    51. 51. Mono <ul><li>Entirely Written in C# Language </li><ul><li>Profile .NET 2.0
    52. 52. Compiled with Nant (isolated environment)
    53. 53. Core library only needs corlib </li></ul><li>Optimized For Mono Framework </li></ul>
    54. 54. Open Source <ul><li>Kernel Library </li><ul><li>GNU LGPLv3 </li></ul><li>Command-Line Tools </li><ul><li>Apache Public License 2.0 </li></ul></ul>
    55. 55. The Future
    56. 56. Version 1.0 (white sky) <ul><li>Node Services (Admin, Master, Root, Block)
    57. 57. Configuration
    58. 58. Diagnostics
    59. 59. Communication Protocols (HTTP, TCP/IP)
    60. 60. Messaging Formats (XML, Binary, JSON)
    61. 61. CloudBase </li></ul>
    62. 62. Version 1.2 (devil sky) <ul><li>Kernel </li><ul><li>128-bit Addresses
    63. 63. Multiple Roots per Path
    64. 64. Message Queue </li></ul><li>Path Libraries </li><ul><li>SQL (SELECT statement) </li></ul></ul>
    65. 65. Version 1.5 (sky on fire) <ul><li>Path Libraries </li><ul><li>SQL (Full SQL-99 syntax support)
    66. 66. OODB
    67. 67. Graph </li></ul></ul>
    68. 68. Some References <ul>Website <ul>http://code.google.com/cloudb http://db.deveel.com http://antonello.provenza.no </ul>Email <ul>[email_address] [email_address] </ul></ul>
    69. 69. Fin

    ×