Abstract
Web applications are increasingly built to target both desktop and mobile users. As a result, modern Web development infrastructure must be able to process large numbers of events (e.g., for location-based features) and support analytics over those events, with applications ranging from banking (e.g., fraud detection) to retail (e.g., just-in-time personalized promotions). We describe a system specifically designed for those applications, allowing high-throughput event processing along with analytics. Our main contribution is the design and implementation of an in-memory JSON store that can handle both events and analytics workloads. The store relies on the JSON model in order to serve data through a common Web API. Thanks to the flexibility of the JSON model, the store can integrate data from systems of record (e.g., customer profiles) with data transmitted between the server and a large number of clients (e.g., location-based events or transactions). The proposed store is built over a distributed, transactional, in-memory object cache for performance. Our experiments show that our implementation handles high throughput and low latency without sacrificing scalability.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abadi, D.J., Ahmad, Y., et al.: The design of the Borealis stream processing engine. In: Conference on Innovative Data Systems Research (CIDR), pp. 277–289 (2005)
Alvaro, P., Condie, T., Conway, N., Elmeleegy, K., Hellerstein, J.M., Sears, R.: BOOM analytics: Exploring data-centric, declarative programming for the cloud. In: European Conference on Computer Systems (EuroSys), pp. 223–236 (2010)
Anderson, J.C., Lehnardt, J., Slater, N.: CouchDB: The definitive guide. O’Reilly (2010)
Bonner, A.J.: Workflow, transactions and Datalog. In: Symposium on Principles of Database Systems (PODS), pp. 294–305 (1999)
Brenna, L., Gehrke, J., Johansen, D., Hong, M.: Distributed event stream processing with non-deterministic finite automata. In: Conference on Distributed Event-Based Systems (DEBS) (2009)
Ceri, S., Widom, J.: Production rules in parallel and distributed database environments. In: Conference on Very Large Data Bases (VLDB), pp. 339–351 (1992)
Chang, F., Dean, J., Ghemawat, S., Hsieh, W.C., Wallach, D.A., Burrows, M., Chandra, T., Fikes, A., Gruber, R.E.: Bigtable: a distributed storage system for structured data. In: Operating Systems Design and Implementation (OSDI), pp. 205–218 (2006)
Cooper, B.F., Silberstein, A., et al.: Benchmarking cloud serving systems with YCSB. In: Symposium on Cloud Computing (SoCC), pp. 143–154 (2010)
Florescu, D., Fourny, G.: JSONiq: The history of a query language. IEEE Internet Computing 17(5), 86–90 (2013)
Forgy, C.L.: OPS5 user’s manual. Technical Report 2397, Carnegie Mellon University (CMU) (1981)
Hirzel, M.: Partition and compose: Parallel complex event processing. In: Conference on Distributed Event-Based Systems (DEBS), pp. 191–200 (2012)
Hirzel, M., Andrade, H., et al.: IBM Streams Processing Language: Analyzing big data in motion. IBM Journal of Research and Development (IBMRD) 57(3/4), 7:1–7:11 (2013)
Kantere, V., Kiringa, I., Zhou, Q., Mylopoulos, J., McArthur, G.: Distributed triggers for peer data management. In: Meersman, R., Tari, Z. (eds.) OTM 2006. LNCS, vol. 4275, pp. 17–35. Springer, Heidelberg (2006)
MongoDB NoSQL database, http://www.mongodb.org/ (retrieved December 2013)
Node.js v0.10.24 manual & documentation (2013), http://nodejs.org/
Pascalau, E., Giurca, A.: JSON rules: The JavaScript rule engine. In: Knowledge Engineering and Software Engineering (KESE) (2008)
Peng, D., Dabek, F.: Large-scale incremental processing using distributed transactions and notifications. In: Operating Systems Design and Implementation (OSDI), pp. 251–264 (2010)
Rivera, J., van der Meulen, R.: Gartner says in-memory computing is racing towards mainstream adoption. Press Release (April 2013), http://www.gartner.com/newsroom/id/2405315
Stolfo, S.J., Prodromidis, A.L., Tselepis, S., Lee, W., Fan, D.W., Chan, P.K.: JAM: Java agents for meta-learning over distributed databases. In: Conference on Knowledge Discovery and Data Mining (KDD), pp. 74–81 (1997)
Streambase, http://www.streambase.com/ (retrieved December 2013)
WODM: IBM Operational Decision Manager, http://www-03.ibm.com/software/products/en/odm/ (retrieved December 2013)
WXS: IBM WebSphere eXtreme Scale (2013), http://www.ibm.com/software/products/en/websphere-extreme-scale/ (retrieved November)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Enoki, M., Siméon, J., Horii, H., Hirzel, M. (2014). Event Processing over a Distributed JSON Store: Design and Performance. In: Benatallah, B., Bestavros, A., Manolopoulos, Y., Vakali, A., Zhang, Y. (eds) Web Information Systems Engineering – WISE 2014. WISE 2014. Lecture Notes in Computer Science, vol 8787. Springer, Cham. https://doi.org/10.1007/978-3-319-11746-1_28
Download citation
DOI: https://doi.org/10.1007/978-3-319-11746-1_28
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-11745-4
Online ISBN: 978-3-319-11746-1
eBook Packages: Computer ScienceComputer Science (R0)