Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Bleu Framework for Hbase & Hadoop

Bleu Framework for Hbase & Hadoop

Presentation for Cloud-based applications

147632037be442ce84b060e01d8d64ae?s=128

Bleu (Jia-Huei Ren)

January 06, 2015
Tweet

Transcript

  1. Bleu Framework for Hbase & Hadoop 49941131 JIA-HUEI REN Bleu.tw@gmail.com

  2. NoSQL, Not Only SQL select fun, profit from real_world where

    relational=false;
  3. Behavior • Increase the machine will automatically expand the data

    storage. • The schema-less format of a Key-Value. • CAP – Consistent – Availability – Partition Tolerance
  4. Consistent • All nodes see the same data at the

    same time.
  5. Availability • A guarantee that every request receives a response

    about whether it was successful or failed.
  6. Partition Tolerance • The system continues to operate despite arbitrary

    message loss or failure of part of the system.
  7. Why ?

  8. Recording?

  9. Recording?

  10. Analyzing

  11. Visualizing

  12. Database Transfer

  13. Usage • Big Users • Big Data • Internet of

    Things • Cloud Computing
  14. So…I make a framework For NoSQL and RDBMS

  15. Bleu Framework • High Compatibility • High Transferability • Low

    coupling • High cohesion
  16. What’s MVC

  17. What’s Thrift PHP Hbase Thrift Hadoop

  18. Thrift Struct Exception Function struct TCell struct ColumnDescriptor struct TRegionInfo

    struct Mutation struct BatchMutation struct TIncrement struct TColumn struct TRowResult struct TScan exception IOError exception IllegalArgument exception AlreadyExists enableTable() disableTable() bool isTableEnabled() getTableNames() getColumnDescriptors() createTable() deleteTable() get() getRow() getRowWithColumns() getRows() mutateRow() mutateRows() deleteAll() deleteAllRow() scannerOpen() scannerGet() scannerClose()
  19. Create & Drop table Schema::create('users', function($table) { $table->increments('id'); } );

    Schema::drop('users');
  20. Get • getTableNames • getTable • getTables

  21. Select User ::all(); User ::find(1);

  22. Insert $user = new User; $user->name = 'John'; $user->save();

  23. Update $user = User::find(1); $user->email = 'john@foo.com'; $user->save();

  24. Delete $user = User::find(1); $user->delete(); User::destroy(array(1, 2, 3));

  25. Performance Comparison 0 50 100 150 200 250 300 350

    400 450 500 1000 20000 100000 1000000 2000000 Hadoop MySQL
  26. Conclusions • Use Thrift-PHP will reduce the performance of Hbase.

    • This framework can easily switch between NoSQL database and RDBMS. • ORM design gives this framework more readable.
  27. Further works • More database engine support. • Performance •

    Flexible
  28. Show Time :)

  29. Thanks!