EdSenseBuilding a self-adapting, interactive learning portalwith Couchbase                                    Christopher ...
Research
Research   &   Development
Research       &   DevelopmentNew Ventures
Research       &   DevelopmentNew Ventures   &   Open Source
I am the Director of            Heading our            Research & Development                         effort            Lo...
Open Sourceis the reason why I’m here
The ProblemAs learning move online in great numbers
The ProblemAs learning move online in great numbersWe need to build interactive learning environments that
The ProblemAs learning move online in great numbersWe need to build interactive learning environments that  Scale!Scale to...
The ProblemAs learning move online in great numbersWe need to build interactive learning environments that  Scale!Scale to...
The ProblemAs learning move online in great numbersWe need to build interactive learning environments that  Scale!Scale to...
The ProblemAs learning move online in great numbersWe need to build interactive learning environments that  Scale!Scale to...
The ProblemAs learning move online in great numbersWe need to build interactive learning environments that                ...
The Approach
The Approach                                             + •   Ride the Google-Apple-Mozilla-              •   Deliver con...
The Challenge
The Challenge       Backend is an Interactive Content Delivery       Cloud that must:        •   Allow for elastic scaling...
The Challenge       Backend is an Interactive Content Delivery       Cloud that must:        •   Allow for elastic scaling...
The ChallengeHmmm...this looks kinda like:          Backend is an Interactive Content Delivery+ Content Caching (Scale)+ S...
The ChallengeHmmm...this looks kinda like:          Backend is an Interactive Content Delivery+ Content Caching (Scale)+ S...
The Technologies NoSQL OLTP-OLAP Database
The Technologies                Back-end NoSQL OLTP-                JSON-RESTOLAP Database              Search Engine
The Technologies                Back-end                     Front-end NoSQL OLTP-                JSON-REST      JavaScrip...
The Technologies                Back-end                        Middleware              Front-end NoSQL OLTP-             ...
The Overall ArchitectureFront-end                      Interactive Content Modules or “Cards”                         Embe...
The Overall ArchitectureFront-end                      Interactive Content Modules or “Cards”                         Embe...
Card UILooks like web contentPure HTML5, no Flash or PDF             Front-end
Card UILooks like web contentPure HTML5, no Flash or PDF             Front-end
Card UILooks like web contentPure HTML5, no Flash or PDF             Front-end
Card UILooks like web contentPure HTML5, no Flash or PDF             Front-end
Card UILooks like web contentPure HTML5, no Flash or PDFWorks like a mobile appEdit button is built-in.                 Fr...
Card UILooks like web contentPure HTML5, no Flash or PDFWorks like a mobile appEdit button is built-in.                 Fr...
Card UILooks like web contentPure HTML5, no Flash or PDFWorks like a mobile appEdit button is built-in.                 Fr...
Card UILooks like web contentPure HTML5, no Flash or PDFWorks like a mobile appEdit button is built-in.Feels like a saved ...
Card UILooks like web contentPure HTML5, no Flash or PDFWorks like a mobile appEdit button is built-in.Feels like a saved ...
Card State                                                          Card state is stored as•   Is stored as JSON documents...
Card State                                                          Card state is stored as•   Is stored as JSON documents...
Card State                                                          Card state is stored as•   Is stored as JSON documents...
Card State                                                          Card state is stored as•   Is stored as JSON documents...
Card State                                                          Card state is stored as•   Is stored as JSON documents...
Card State                                                          Card state is stored as•   Is stored as JSON documents...
Card State                                                          Card state is stored as•   Is stored as JSON documents...
Card State                                                          Card state is stored as•   Is stored as JSON documents...
Card State                                                          Card state is stored as•   Is stored as JSON documents...
1   Store full-text articles as well as    document metadata for image, video                                             ...
+1   Store full-text articles as well as    document metadata for image, video                                            ...
Introducing              Learning Portal
Introducing              Learning Portal                                •   Designed and built as a                       ...
Calculating statistics viaCouchbase 2.0Views  Top Contributors & Tags   driven by Incremental    MapReduce Views
Tuning content ranking viaElasticSearch ElasticSearch-driven based      on settings below  Content popularity boost   User...
Proof-of-Concept Architecture                                                         App Server                          ...
Data Modeling                Content Metadata                Bucket                User Profiles                Bucket    ...
Data Modeling                                   • Stores content metadata for media                                     ob...
Data Modeling                                   • Stores content metadata for media                                     ob...
Data Modeling                                   • Stores content metadata for media                                     ob...
SampleDocument   Content   Metadata   Bucket
SampleDocument   Content   Metadata   Bucket
SampleDocument   User   Profile   Bucket             145
SampleDocument   User   Profile   Bucket             146
EdSenseThe Adaptive Bits
1       0.    on  si   rVe             EdSense             The Adaptive Bits
Custom Scoring Algorithm                                        Upon UserPerforms                                 Request ...
Custom Scoring Algorithm                                        Upon UserPerforms                                 Request ...
Custom Scoring Algorithm                                        Upon UserPerforms                                 Request ...
Custom Scoring Algorithm                                        Upon UserPerforms                                 Request ...
Custom Scoring Algorithm                                        Upon UserPerforms                                 Request ...
UserPreference   Use ElasticSearch filter boostingBoost              {                  "filter": {                     "te...
DocumentPopularity   Use ElasticSearch custom script to scoreBoost        documents              "script": "_score * (((do...
CombinedAlgorithm    "filters": [                        {in a Query                  "filter": {                         ...
“resource”: “719301”,                                   “timestamp”: “2012-09-02T22:45:59Z”                               ...
“resource”: “719301”,                                   “timestamp”: “2012-09-02T22:45:59Z”                               ...
“resource”: “719301”,                                   “timestamp”: “2012-09-02T22:45:59Z”                               ...
“resource”: “719301”,                                   “timestamp”: “2012-09-02T22:45:59Z”                               ...
“resource”: “719301”,                                   “timestamp”: “2012-09-02T22:45:59Z”                               ...
Preview of                                        Project Medici               Dashboard   My Courses   Reports         Di...
Dashboard   My Courses   Reports        Discussionsof Biology                 Syllabus Overview                           ...
Questions?             Follow me on Twitter             @christse
CCSF12_Edsense_Building_a_learning_portal_with_Couchbase
CCSF12_Edsense_Building_a_learning_portal_with_Couchbase
CCSF12_Edsense_Building_a_learning_portal_with_Couchbase
CCSF12_Edsense_Building_a_learning_portal_with_Couchbase
CCSF12_Edsense_Building_a_learning_portal_with_Couchbase
CCSF12_Edsense_Building_a_learning_portal_with_Couchbase
Upcoming SlideShare
Loading in...5
×

CCSF12_Edsense_Building_a_learning_portal_with_Couchbase

6,132

Published on

0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
6,132
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
57
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • CCSF12_Edsense_Building_a_learning_portal_with_Couchbase

    1. 1. EdSenseBuilding a self-adapting, interactive learning portalwith Couchbase Christopher Tse (@christse) - Revision 6 - Sep 19, 2012
    2. 2. Research
    3. 3. Research & Development
    4. 4. Research & DevelopmentNew Ventures
    5. 5. Research & DevelopmentNew Ventures & Open Source
    6. 6. I am the Director of Heading our Research & Development effort Looking forChris Tse@christse New Ventures opportunities in education A strong believer in the power of Open Source
    7. 7. Open Sourceis the reason why I’m here
    8. 8. The ProblemAs learning move online in great numbers
    9. 9. The ProblemAs learning move online in great numbersWe need to build interactive learning environments that
    10. 10. The ProblemAs learning move online in great numbersWe need to build interactive learning environments that Scale!Scale to millions oflearners
    11. 11. The ProblemAs learning move online in great numbersWe need to build interactive learning environments that Scale!Scale to millions of Serve MHE as well as third-partylearners content
    12. 12. The ProblemAs learning move online in great numbersWe need to build interactive learning environments that Scale!Scale to millions of Serve MHE as well as third-party Includinglearners content open content
    13. 13. The ProblemAs learning move online in great numbersWe need to build interactive learning environments that Scale!Scale to millions of Serve MHE as well as third-party Including Supportlearners content open content learning apps
    14. 14. The ProblemAs learning move online in great numbersWe need to build interactive learning environments that 010100100 Scale! 111010101 010101001 010101010Scale to millions of Serve MHE as well as third-party Including Support Self-adapt vialearners content open content learning apps usage data
    15. 15. The Approach
    16. 16. The Approach + • Ride the Google-Apple-Mozilla- • Deliver content and learning tool via Microsoft HTML5 innovation train customer-facing APIs • Easily support interactive content on • Build bridges to existing enterprise desktop and mobile devices system under the APIs • Develop in the language of the Web: • Provide all user data via a uniform security JavaScript policy. No God mode!
    17. 17. The Challenge
    18. 18. The Challenge Backend is an Interactive Content Delivery Cloud that must: • Allow for elastic scaling under spike periods • Ability to catalog & deliver content from many sources • Consistent low-latency for metadata and stats access • Require full-text search support for content discovery • Offer tunable content ranking & recommendation functions
    19. 19. The Challenge Backend is an Interactive Content Delivery Cloud that must: • Allow for elastic scaling under spike periods • Ability to catalog & deliver content from many sources • Consistent low-latency for metadata and stats access • Require full-text search support for content discovery • Offer tunable content ranking & recommendation functions So we experimented with a combination of: XML Databases In-memory Data Grids SQL/MR Engines Enterprise Search Servers
    20. 20. The ChallengeHmmm...this looks kinda like: Backend is an Interactive Content Delivery+ Content Caching (Scale)+ Social Gaming (Stats) Cloud that must:+ Ad Targeting (Smarts) • Allow for elastic scaling under spike periods • Ability to catalog & deliver content from many sources • Consistent low-latency for metadata and stats access • Require full-text search support for content discovery • Offer tunable content ranking & recommendation functions So we experimented with a combination of: XML Databases In-memory Data Grids SQL/MR Engines Enterprise Search Servers
    21. 21. The ChallengeHmmm...this looks kinda like: Backend is an Interactive Content Delivery+ Content Caching (Scale)+ Social Gaming (Stats) Cloud that must:+ Ad Targeting (Smarts) • Allow for elastic scaling under spike periods • Ability to catalog & deliver content from many sources • Consistent low-latency for metadata and stats access • Require full-text search support for content discovery • Offer tunable content ranking & recommendation functions So we experimented with a combination of: XML Databases In-memory Data Grids SQL/MR Engines Enterprise Search Servers
    22. 22. The Technologies NoSQL OLTP-OLAP Database
    23. 23. The Technologies Back-end NoSQL OLTP- JSON-RESTOLAP Database Search Engine
    24. 24. The Technologies Back-end Front-end NoSQL OLTP- JSON-REST JavaScript MVC &OLAP Database Search Engine ORM Framework
    25. 25. The Technologies Back-end Middleware Front-end NoSQL OLTP- JSON-REST Java-based Integration & JavaScript MVC &OLAP Database Search Engine Security Framework ORM Framework
    26. 26. The Overall ArchitectureFront-end Interactive Content Modules or “Cards” Ember = JavaScript + HTML + CSSMiddleware Content Access & Authoring APIs Ziniki = REST + WebSockets on JVMBack-end Persistence & Analytics Search Index & Ranking Couchbase = JSON Docs ElasticSearch = JSON + JavaScript Map Reduce Docs + Query DSL
    27. 27. The Overall ArchitectureFront-end Interactive Content Modules or “Cards” Ember = JavaScript + HTML + CSSMiddleware Content Access & Authoring APIs Ziniki = REST + WebSockets on JVMBack-end Persistence & Analytics Search Index & Ranking Couchbase = JSON Docs ElasticSearch = JSON + JavaScript Map Reduce Docs + Query DSL
    28. 28. Card UILooks like web contentPure HTML5, no Flash or PDF Front-end
    29. 29. Card UILooks like web contentPure HTML5, no Flash or PDF Front-end
    30. 30. Card UILooks like web contentPure HTML5, no Flash or PDF Front-end
    31. 31. Card UILooks like web contentPure HTML5, no Flash or PDF Front-end
    32. 32. Card UILooks like web contentPure HTML5, no Flash or PDFWorks like a mobile appEdit button is built-in. Front-end
    33. 33. Card UILooks like web contentPure HTML5, no Flash or PDFWorks like a mobile appEdit button is built-in. Front-end
    34. 34. Card UILooks like web contentPure HTML5, no Flash or PDFWorks like a mobile appEdit button is built-in. Front-end
    35. 35. Card UILooks like web contentPure HTML5, no Flash or PDFWorks like a mobile appEdit button is built-in.Feels like a saved fileDrag & drop across all content types Front-end
    36. 36. Card UILooks like web contentPure HTML5, no Flash or PDFWorks like a mobile appEdit button is built-in.Feels like a saved fileDrag & drop across all content types Card state is stored as Front-end JS N
    37. 37. Card State Card state is stored as• Is stored as JSON documents using open source NoSQL technologies JS N proven to scale: • Zynga ‣ Couchbase • Infochimps ‣ ElasticSearch• Updates in real-time: • Indexing using incremental MapReduce Couchbase Transaction Cluster ElasticSearch Cluster • Client synchronization via Manages all the content, user profile, Full-text index all incoming content, user preferences, user behavior apply ranking functions upon request Memcached protocol Couchbase Analytical Cluster Performs real-time analytics on user profile and user behavior data Back-end
    38. 38. Card State Card state is stored as• Is stored as JSON documents using open source NoSQL technologies JS N proven to scale: • Zynga ‣ Couchbase • Infochimps ‣ ElasticSearch• Updates in real-time: • Indexing using incremental MapReduce Couchbase Transaction Cluster ElasticSearch Cluster • Client synchronization via Manages all the content, user profile, Full-text index all incoming content, user preferences, user behavior apply ranking functions upon request Memcached protocol Couchbase Analytical Cluster Performs real-time analytics on user profile and user behavior data Back-end
    39. 39. Card State Card state is stored as• Is stored as JSON documents using open source NoSQL technologies JS N proven to scale: • Zynga ‣ Couchbase • Infochimps ‣ ElasticSearch• Updates in real-time: • Indexing using incremental MapReduce Couchbase Transaction Cluster ElasticSearch Cluster • Client synchronization via Manages all the content, user profile, Full-text index all incoming content, user preferences, user behavior apply ranking functions upon request Memcached protocol Couchbase Analytical Cluster Performs real-time analytics on user profile and user behavior data Back-end
    40. 40. Card State Card state is stored as• Is stored as JSON documents using open source NoSQL technologies JS N proven to scale: • Zynga ‣ Couchbase • Infochimps ‣ ElasticSearch• Updates in real-time: • Indexing using incremental MapReduce Couchbase Transaction Cluster ElasticSearch Cluster • Client synchronization via Manages all the content, user profile, Full-text index all incoming content, user preferences, user behavior apply ranking functions upon request Memcached protocol Couchbase Analytical Cluster Performs real-time analytics on user profile and user behavior data Back-end
    41. 41. Card State Card state is stored as• Is stored as JSON documents using open source NoSQL technologies JS N proven to scale: • Zynga ‣ Couchbase • Infochimps ‣ ElasticSearch• Updates in real-time: • Indexing using incremental MapReduce Couchbase Transaction Cluster ElasticSearch Cluster • Client synchronization via Manages all the content, user profile, Full-text index all incoming content, user preferences, user behavior apply ranking functions upon request Memcached protocol Couchbase Analytical Cluster Performs real-time analytics on user profile and user behavior data Back-end
    42. 42. Card State Card state is stored as• Is stored as JSON documents using open source NoSQL technologies JS N proven to scale: • Zynga ‣ Couchbase • Infochimps ‣ ElasticSearch• Updates in real-time: • Indexing using incremental MapReduce Couchbase Transaction Cluster ElasticSearch Cluster • Client synchronization via Manages all the content, user profile, Full-text index all incoming content, user preferences, user behavior apply ranking functions upon request Memcached protocol Couchbase Analytical Cluster Performs real-time analytics on user profile and user behavior data Back-end
    43. 43. Card State Card state is stored as• Is stored as JSON documents using open source NoSQL technologies JS N proven to scale: • Zynga ‣ Couchbase • Infochimps ‣ ElasticSearch• Updates in real-time: • Indexing using incremental MapReduce Couchbase Transaction Cluster ElasticSearch Cluster • Client synchronization via Manages all the content, user profile, Full-text index all incoming content, user preferences, user behavior apply ranking functions upon request Memcached protocol Couchbase Analytical Cluster Performs real-time analytics on user profile and user behavior data Back-end
    44. 44. Card State Card state is stored as• Is stored as JSON documents using open source NoSQL technologies JS N proven to scale: • Zynga ‣ Couchbase • Infochimps ‣ ElasticSearch• Updates in real-time: • Indexing using incremental MapReduce Couchbase Transaction Cluster ElasticSearch Cluster • Client synchronization via Manages all the content, user profile, Full-text index all incoming content, user preferences, user behavior apply ranking functions upon request Memcached protocol Couchbase Analytical Cluster Performs real-time analytics on user profile and user behavior data Back-end
    45. 45. Card State Card state is stored as• Is stored as JSON documents using open source NoSQL technologies JS N proven to scale: • Zynga ‣ Couchbase • Infochimps ‣ ElasticSearch• Updates in real-time: • Indexing using incremental MapReduce Couchbase Transaction Cluster ElasticSearch Cluster • Client synchronization via Manages all the content, user profile, Full-text index all incoming content, user preferences, user behavior apply ranking functions upon request Memcached protocol Couchbase Analytical Cluster Performs real-time analytics on user profile and user behavior data Back-end
    46. 46. 1 Store full-text articles as well as document metadata for image, video 3 Continuously accept updates from Couchbase with new content & stats and text content in Couchbase 4 Combine user preferences statistics2 Logs user behavior to calculate user preference statistics (e.g. video > text) with custom relevancy scoring to provide personalized search results
    47. 47. +1 Store full-text articles as well as document metadata for image, video 3 Continuously accept updates from Couchbase with new content & stats and text content in Couchbase 4 Combine user preferences statistics2 Logs user behavior to calculate user preference statistics (e.g. video > text) with custom relevancy scoring to provide personalized search results
    48. 48. Introducing Learning Portal
    49. 49. Introducing Learning Portal • Designed and built as a collaboration between MHE Labs and Couchbase • Serves as proof-of- concept and testing harness for Couchbase + ElasticSearch integration • Available for download and further development as open source code
    50. 50. Calculating statistics viaCouchbase 2.0Views Top Contributors & Tags driven by Incremental MapReduce Views
    51. 51. Tuning content ranking viaElasticSearch ElasticSearch-driven based on settings below Content popularity boost User preference boost
    52. 52. Proof-of-Concept Architecture App Server Hosted on Heroku External Media Store Couchbase Ruby SDK ES Queries over HTTP Do Data TS c Re ery Qu fs R Qu er M y Couchbase Server Cluster ElasticSearch Server Cluster MR MR MR MR Views Views Views Views XDCR-based Cross Data Center Replication CB-ES Transport
    53. 53. Data Modeling Content Metadata Bucket User Profiles Bucket Content Stats Bucket
    54. 54. Data Modeling • Stores content metadata for media objects and content for articles Content Metadata • Includes tags, contributors, type Bucket information • Includes pointer to the media User Profiles Bucket Content Stats Bucket
    55. 55. Data Modeling • Stores content metadata for media objects and content for articles Content Metadata • Includes tags, contributors, type Bucket information • Includes pointer to the media • Stores user view details per type User Profiles • Updated every time a user views a doc with running count Bucket • To be used for customizing ES search results per user preference Content Stats Bucket
    56. 56. Data Modeling • Stores content metadata for media objects and content for articles Content Metadata • Includes tags, contributors, type Bucket information • Includes pointer to the media • Stores user view details per type User Profiles • Updated every time a user views a doc with running count Bucket • To be used for customizing ES search results per user preference • Stores content view details Content Stats • Updated for every time a document is viewed Bucket • To be used for boosting ES search results based on popularity
    57. 57. SampleDocument Content Metadata Bucket
    58. 58. SampleDocument Content Metadata Bucket
    59. 59. SampleDocument User Profile Bucket 145
    60. 60. SampleDocument User Profile Bucket 146
    61. 61. EdSenseThe Adaptive Bits
    62. 62. 1 0. on si rVe EdSense The Adaptive Bits
    63. 63. Custom Scoring Algorithm Upon UserPerforms Request + External Action User’s Content User Query Tuned Assets Preference with Preferences + Metadata t en em cr In Do Personalized User Event Log Search Content Results Against M e ap at er Re Continuous en du G Content Popularity Push Documents with ce Statistics Aggregated Scores
    64. 64. Custom Scoring Algorithm Upon UserPerforms Request + External Action User’s Content User Query Tuned Assets Preference with Preferences + Metadata t en em cr In Do Personalized User Event Log Search Content Results Against M e ap at er Re Continuous en du G Content Popularity Push Documents with ce Statistics Aggregated Scores
    65. 65. Custom Scoring Algorithm Upon UserPerforms Request + External Action User’s Content User Query Tuned Assets Preference with Preferences + Metadata t en em cr In Do Personalized User Event Log Search Content Results Against M e ap at er Re Continuous en du G Content Popularity Push Documents with ce Statistics Aggregated Scores
    66. 66. Custom Scoring Algorithm Upon UserPerforms Request + External Action User’s Content User Query Tuned Assets Preference with Preferences + Metadata t en em cr In Do Personalized User Event Log Search Content Results Against M e ap at er Re Continuous en du G Content Popularity Push Documents with ce Statistics Aggregated Scores
    67. 67. Custom Scoring Algorithm Upon UserPerforms Request + External Action User’s Content User Query Tuned Assets Preference with Preferences + Metadata t en em cr In Do Personalized User Event Log Search Content Results Against M e ap at er Re Continuous en du G Content Popularity Push Documents with ce Statistics Aggregated Scores
    68. 68. UserPreference Use ElasticSearch filter boostingBoost { "filter": { "term": { "type": "video” } }, "boost": USER_VIDEO_PREFERENCE * PREFERENCE_SLIDER }
    69. 69. DocumentPopularity Use ElasticSearch custom script to scoreBoost documents "script": "_score * (((doc[popularity].value + 1) / AVG_POPULARITY ) * POPULARITY_SLIDER)"
    70. 70. CombinedAlgorithm "filters": [ {in a Query "filter": { "term": { "type": "video" } }, "boost": USER_VIDEO_PREFERENCE * PREFERENCE_SLIDER }, … image and texts filters omitted … ], "score_mode": "total" } }, "script": "_score * (((doc[popularity].value + 1) / AVG_POPULARITY ) * POPULARITY_SLIDER)" }
    71. 71. “resource”: “719301”, “timestamp”: “2012-09-02T22:45:59Z” }Analytics &EventLogging { "_id": ”4ae5be2df3122f06ba45b70753001841”, “_rev”: ”1-0013b349ffc3afc700000000068000000”, “$flags”: 0, “#expiration”: 0, “type”: “access”, “user”: “chris.tse@gmail.com”, “resource”: “379823”, “timestamp”: “2012-09-02T22:46:07Z” }• Store full event log for offline analysis• Stored on a separate analytics cluster { • Limit impact on OLTP "_id": ”4ae5be2df3122f06ba45b70753001842”, “_rev”: ”1-0013b349ffc3afc700000000068000000”, • Tuned differently “$flags”: 0,• Keep an upper-bound on “#expiration”: 0, data size via TTL (24 hrs) “type”: “create”, “user”: “chris.tse@gmail.com”, “resource”: “948177”,
    72. 72. “resource”: “719301”, “timestamp”: “2012-09-02T22:45:59Z” }Analytics &EventLogging { "_id": ”4ae5be2df3122f06ba45b70753001841”, “_rev”: ”1-0013b349ffc3afc700000000068000000”, What? “$flags”: 0, “#expiration”: 0, “type”: “access”, “user”: “chris.tse@gmail.com”, “resource”: “379823”, “timestamp”: “2012-09-02T22:46:07Z” }• Store full event log for offline analysis• Stored on a separate analytics cluster { • Limit impact on OLTP "_id": ”4ae5be2df3122f06ba45b70753001842”, “_rev”: ”1-0013b349ffc3afc700000000068000000”, • Tuned differently “$flags”: 0,• Keep an upper-bound on “#expiration”: 0, data size via TTL (24 hrs) “type”: “create”, “user”: “chris.tse@gmail.com”, “resource”: “948177”,
    73. 73. “resource”: “719301”, “timestamp”: “2012-09-02T22:45:59Z” }Analytics &EventLogging { "_id": ”4ae5be2df3122f06ba45b70753001841”, “_rev”: ”1-0013b349ffc3afc700000000068000000”, What? “$flags”: 0, “#expiration”: 0, “type”: “access”, Who? “user”: “chris.tse@gmail.com”, “resource”: “379823”, “timestamp”: “2012-09-02T22:46:07Z” }• Store full event log for offline analysis• Stored on a separate analytics cluster { • Limit impact on OLTP "_id": ”4ae5be2df3122f06ba45b70753001842”, “_rev”: ”1-0013b349ffc3afc700000000068000000”, • Tuned differently “$flags”: 0,• Keep an upper-bound on “#expiration”: 0, data size via TTL (24 hrs) “type”: “create”, “user”: “chris.tse@gmail.com”, “resource”: “948177”,
    74. 74. “resource”: “719301”, “timestamp”: “2012-09-02T22:45:59Z” }Analytics &EventLogging { "_id": ”4ae5be2df3122f06ba45b70753001841”, “_rev”: ”1-0013b349ffc3afc700000000068000000”, What? “$flags”: 0, “#expiration”: 0, “type”: “access”, Who? “user”: “chris.tse@gmail.com”, “resource”: “379823”, Which? “timestamp”: “2012-09-02T22:46:07Z” }• Store full event log for offline analysis• Stored on a separate analytics cluster { • Limit impact on OLTP "_id": ”4ae5be2df3122f06ba45b70753001842”, “_rev”: ”1-0013b349ffc3afc700000000068000000”, • Tuned differently “$flags”: 0,• Keep an upper-bound on “#expiration”: 0, data size via TTL (24 hrs) “type”: “create”, “user”: “chris.tse@gmail.com”, “resource”: “948177”,
    75. 75. “resource”: “719301”, “timestamp”: “2012-09-02T22:45:59Z” }Analytics &EventLogging { "_id": ”4ae5be2df3122f06ba45b70753001841”, “_rev”: ”1-0013b349ffc3afc700000000068000000”, What? “$flags”: 0, “#expiration”: 0, “type”: “access”, Who? “user”: “chris.tse@gmail.com”, “resource”: “379823”, Which? “timestamp”: “2012-09-02T22:46:07Z” } When?• Store full event log for offline analysis• Stored on a separate analytics cluster { • Limit impact on OLTP "_id": ”4ae5be2df3122f06ba45b70753001842”, “_rev”: ”1-0013b349ffc3afc700000000068000000”, • Tuned differently “$flags”: 0,• Keep an upper-bound on “#expiration”: 0, data size via TTL (24 hrs) “type”: “create”, “user”: “chris.tse@gmail.com”, “resource”: “948177”,
    76. 76. Preview of Project Medici Dashboard My Courses Reports Discussions Professor LoFundamentals of Biology Syllabus Overview TOPIC: THE CEL L01 04 Molecules of Life 03.24 – 03.30 Add Card02 Lesson Overview Lesson Objective Review slides before the next class Review slides before the next Review slides before the next class Review slides before the next03 class Read More.Vit; nessent, utuituus publice rtermilinve, pub- class Read More.Vit; nessent, utuituus publice rtermilinve, publis lis siciam inum nonferibus hus hocrit.Horum, nonsula ves? inaWm siciam inum nonferibus hus hocrit.Horum, nonsula ves? inam ocuro,04 ocuro, Palessistrum nihilicae consigit. Palessistrum nihilicae consigit.0506 INSTRUCT PRACTICE07 How Cells Create Energy Biology 101 Review slides before the next class Review slides before the next class Read More. Review slides before the next class08 0 – 30 min. slides before. Read More. 0 – 30 min.091011121314151617 TEST PRACTICE EXPLORE Quiz 03 The Secret Life of Plankton The Secret Life of Plankton18 Review slides before the next class Review slides before the next class Review slides before the next class 0 – 30 min. slides before. Read More. slides before. Read More.19 0 – 30 min. 0 – 30 min.20 Please explain the Krebs Cylce with regards to blah and blah in 250+ Words
    77. 77. Dashboard My Courses Reports Discussionsof Biology Syllabus Overview TOPIC : THE CEL L 04 Molecules of Life 03.24 – 03.30 Add Card Lesson Overview Lesson Objective Review slides before the next class Review slides before the next Review slides before the next class Review slides before the next class Read More.Vit; nessent, utuituus publice rtermilinve, pub- class Read More.Vit; nessent, utuituus publice rtermilinve, publis lis siciam inum nonferibus hus hocrit.Horum, nonsula ves? inaWm siciam inum nonferibus hus hocrit.Horum, nonsula ves? inam ocuro, ocuro, Palessistrum nihilicae consigit. Palessistrum nihilicae consigit. INSTRUCT P R AC T I C E How Cells Create Energy Biology 101 Review slides before the next class Review slides before the next class Read More. Review slides before the next class 0 – 30 min. slides before. Read More. 0 – 30 min. TEST P R AC T I C E E X P LO R E Quiz 03 The Secret Life of Plankton The Secret Life of Plankton
    78. 78. Questions? Follow me on Twitter @christse
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×