No Arabic abstract
Big data systems development is full of challenges in view of the variety of application areas and domains that this technology promises to serve. Typically, fundamental design decisions involved in big data systems design include choosing appropriate storage and computing infrastructures. In this age of heterogeneous systems that integrate different technologies for development of an optimized solution to a specific real world problem, big data systems are not an exception to any such rule. As far as the storage aspect of any big data system is concerned, the primary facet in this regard is a storage infrastructure and NoSQL is the right technology that fulfills its requirements. However, every big data application has variable data characteristics and thus, the corresponding data fits into a different data model. Moreover, the requirements of different applications vary on the basis of budget and functionality. This paper presents a feature analysis of 80 NoSQL solutions, elaborating on the criteria and points that a developer must consider while making a possible choice. Bivariate analysis of dataset created for the identified NoSQL solutions was performed to establish relationship between 9 features. Furthermore, cluster analysis of the dataset was used to create categories of solutions to present a statistically supported classification scheme. Finally, applications for different solutions were reviewed and classified under domain-specific categories. Random forest classification was used to determine the most relevant features for applications and correspondingly a decision tree-based prediction model was proposed, implemented and deployed in the form of a web application to determine the suitability of a NoSQL solution for an application area.
During the last few years, the explosion of Big Data has prompted cloud infrastructures to provide cloud-based database services as cost effective, efficient and scalable solutions to store and process large volume of data. Hence, NoSQL databases became more and more popular because of their inherent features of better performance and high scalability compared to other relational databases. However, with this deployment architecture where the information is stored in a public cloud, protection against the sensitive data is still being a major concern. Since the data owner does not have the full control over his sensitive data in a cloud-based database solution, many organizations are reluctant to move forward with Database-as-a-Service (DBaaS) solutions. Some of the recent work addressed this issue by introducing additional layers to provide encryption mechanisms to encrypt data, however, these approaches are more application specific and they need to be properly evaluated to ensure whether they can achieve high performance with the scalability when it comes to large volume of data in a cloud-based production environment. This paper proposes a practical system design and implementation to provide Security-as-a-Service for NoSQL databases (SEC-NoSQL) while supporting the execution of query over encrypted data with guaranteed level of system performance. Several different models of implementations are proposed, and their performance is evaluated using YCSB benchmark considering large number of clients processing simultaneously. Experimental results show that our design fits well on encrypted data while maintaining the high performance and scalability. Moreover, to deploy our solution as a cloud-based service, a practical guide establishing Service Level Agreement (SLA) is also included.
NoSQL databases like Redis, Cassandra, and MongoDB are increasingly popular because they are flexible, lightweight, and easy to work with. Applications that use these databases will evolve over time, sometimes necessitating (or preferring) a change to the format or organization of the data. The problem we address in this paper is: How can we support the evolution of high-availability applications and their NoSQL data online, without excessive delays or interruptions, even in the presence of backward-incompatible data format changes? We present KVolve, an extension to the popular Redis NoSQL database, as a solution to this problem. KVolve permits a developer to submit an upgrade specification that defines how to transform existing data to the newest version. This transformation is applied lazily as applications interact with the database, thus avoiding long pause times. We demonstrate that KVolve is expressive enough to support substantial practical updates, including format changes to RedisFS, a Redis-backed file system, while imposing essentially no overhead in general use and minimal pause times during updates.
The PICUP Collection of Exercise Sets (https://www.compadre.org/PICUP/exercises/) contains over 60 peer-reviewed computation-infused activities for use in various physics courses from high school through graduate study. Each Exercise Set includes an instructor guide, student-facing exercises, and sample implementations for one or more programming platforms. We present an analysis of this Collection based on Exercise Set traits such as course level, word count, completion time, course context, computational methods, programming platforms, and engagement elements. This analysis highlights the strengths of the PICUP Collection (such as variety in subject and method coverage) and where there is ample room for development (such as expansion of high school- and advanced-level offerings and a greater representation of programming platforms).
In emerging applications such as blockchains and collaborative data analytics, there are strong demands for data immutability, multi-version accesses, and tamper-evident controls. This leads to three new index structures for immutable data, namely Merkle Patricia Trie (MPT), Merkle Bucket Tree (MBT), and Pattern-Oriented-Split Tree (POS-Tree). Although these structures have been adopted in real applications, there is no systematic evaluation of their pros and cons in the literature. This makes it difficult for practitioners to choose the right index structure for their applications, as there is only a limited understanding of the characteristics of each index. To alleviate the above deficiency, we present a comprehensive analysis of the existing index structures for immutable data, evaluating both their asymptotic and empirical performance. Specifically, we show that MPT, MBT, and POS-Tree are all instances of a recently proposed framework, dubbed my{Structurally Invariant and Reusable Indexes (SIRI)}. We propose to evaluate the SIRI instances based on five essential metrics: their efficiency for four index operations (i.e., lookup, update, comparison, and merge), as well as their my{deduplication ratios} (i.e., the size of the index with deduplication over the size without deduplication). We establish the worst-case guarantees of each index in terms of these five metrics, and we experimentally evaluate all indexes in a large variety of settings. Based on our theoretical and empirical analysis, we conclude that POS-Tree is a favorable choice for indexing immutable data.
Tin Sulphide is a layered compound which retains its structure when deposited as thin films by thermal evaporation. The films were found to have oriented growth with the direction of orientation changing with film thickness. The films morphology was found to change with orientation. The poor conductivity of the thicker samples made it difficult to make photocunductivity characterisation. However, unlike reported the thinner samples showed photo-sensitivity to be independent of film thickness and grain size with a high persistent photocurrent. With their absorption, photosensitivty, optimum band-gap and traps within the band-gap giving the charge carriers a longer life-time, thin samples of tin sulphide gives adequate scope designing efficient photovoltaics. The refractive index was modeled using Sellmeirs model, while most of the previous studies talk of Wemple-DiDomenico single oscillator model or Cauchys dispersion relation. The Sellmeirs fitting parameters are reported which can be of use in ellipsometric studies.