nosql databases are essential for managing modern data-intensive applications. While SQL education is a crucial part of the software engineering and computer science curriculum, it is insufficient in addressing the ri...
详细信息
nosql databases are essential for managing modern data-intensive applications. While SQL education is a crucial part of the software engineering and computer science curriculum, it is insufficient in addressing the rise of big data and cloud infrastructures. Despite extensive research on SQL education, there is limited exploration of nosql education, particularly in teaching methods and data models. This study addresses this gap by conducting a systematic literature review on nosql database education, aiming to assess current research, teaching practices, models, tools, scalability, and security mechanisms while offering a framework for integrating nosql into academic curricula. Out of 386 articles, 28 were selected for detailed analysis, focusing on nosql teaching methods, models, and curriculum development. Findings revealed that document-oriented and graph databases, especially MongoDB, Cassandra, and Neo4j, are the most taught. The project-based learning approach was the most common teaching method. Challenges identified include adapting to technological advancements, addressing diverse student needs, and the shift to online learning. This review contributes valuable insights into nosql education and offers recommendations for improving teaching practices in software engineering curricula.
Most existing Byzantine fault-tolerant algorithms are slow and not designed for large participant sets trying to reach consensus. Consequently, distributed databases that use consensus mechanisms to process transactio...
详细信息
Most existing Byzantine fault-tolerant algorithms are slow and not designed for large participant sets trying to reach consensus. Consequently, distributed databases that use consensus mechanisms to process transactions face significant limitations in scalability and throughput. These limitations can be substantially improved using sharding, a technique that partitions a state into multiple shards, each handled in parallel by a subset of the network. Sharding has already been implemented in several data replication systems. While it has demonstrated notable potential for enhancing performance and scalability, current sharding techniques still face critical scalability and security issues. In this article, we propose a novel, fault-tolerant, self-configurable, scalable, secure, decentralized, high-performance distributed nosql database architecture. Our approach employs an innovative sharding technique to enable Byzantine fault-tolerant consensus mechanisms in very large-scale networks. We introduce a new sharding method for data replication that leverages a classic consensus mechanism, such as PBFT, to process transactions. Our approach modifies node allocation among shards through the public key generation process, effectively reducing the frequency of cross-shard transactions, which are generally more complex and costly than intra-shard transactions. Additionally, our method eliminates the need for a shared ledger between shards, which typically imposes further scalability and security challenges on the network. We also explain how to automatically form new committees based on the availability of candidate processor nodes. This technique optimizes network capacity by employing inactive surplus processors from one committee's queue in forming new committees, thereby increasing system throughput and efficiency. Our approach maximizes processor node utilization as well as computational and storage capacity across the network, enhancing both processing and storage sha
Objective: nosql database management systems (DBMSs) are designed to handle large-scale data for modern applications. These systems often operate in a distributed manner, allowing data to be spread across multiple nod...
详细信息
Objective: nosql database management systems (DBMSs) are designed to handle large-scale data for modern applications. These systems often operate in a distributed manner, allowing data to be spread across multiple nodes to ensure replication, reduce data loss, and facilitate recovery. The consistency level in these DBMSs determines how synchronized data is across nodes, influencing the trade-off among consistency, availability, and system performance. Given that different applications have unique requirements, understanding the impact of various consistency levels is essential. This study conducts an in-depth analysis of how consistency level choices affect the performance of three leading nosql DBMSs: Cassandra, MongoDB, and ***: These systems were evaluated under different consistency configurations, user loads, and workloads, with performance metrics including average response time and operations per ***: Our results show that Cassandra and Redis handle write operations faster than MongoDB, though Cassandra experiences significant slowdowns of up to 200% when switching to strong consistency. This performance degradation is observed for both read and write operations, making Cassandra the most affected DBMS when opting for strong ***: The detailed findings offer valuable insights into the trade-offs between performance and consistency in these DBMSs, providing guidance for database engineers in selecting appropriate consistency levels based on their application needs.
Distributed database systems offer scalability and fault tolerance by replicating databases across geographically dispersed nodes. This redundancy aims to ensure data availability even during failures and allows for b...
详细信息
Distributed database systems offer scalability and fault tolerance by replicating databases across geographically dispersed nodes. This redundancy aims to ensure data availability even during failures and allows for backups in case of disasters. However, maintaining strong data consistency, where all nodes reflect the latest data simultaneously, becomes a challenge in such geographically distributed setups since database systems need to prioritize availability or performance over strong data consistency. This study examines how different data consistency configurations affect the performance of popular nosql (Not only SQL) databases, namely Cassandra, MongoDB, and Redis, in a multi-region cloud environment. We adopt the Yahoo! Cloud Serving Benchmark (YCSB) tool to simulate various workloads, measure performance metrics, and compare the results. Our findings reveal significant performance degradation associated with strong data consistency configurations. For instance, in Cassandra, the number of writing/reading operations processed per second can decrease by up to 95% for specific workloads. Similarly, enforcing strong data consistency in Redis can result in execution times that are over 20 times slower on writing/reading operations.
Big data applications have motivated the adoption of nosql database management systems (DBMS), which usually provide better performance and availability than relational DBMSs. Nowadays, these applications are commonly...
详细信息
Big data applications have motivated the adoption of nosql database management systems (DBMS), which usually provide better performance and availability than relational DBMSs. Nowadays, these applications are commonly hosted in cloud storage services. In general, nosql DBMSs adopt eventual consistency, in which not all redundant nodes have the newest data, but, eventually, such data will be present in all nodes. Different levels of consistency can be utilized, but they may affect user experience and service level agreements. Therefore, techniques for evaluating the impact of eventual consistency are important for system design. This work proposes a method based on generalized stochastic Petri nets for evaluating cloud storage systems based on nosql DBMS using quorum technique. The models take into account distinct consistency levels and redundant nodes for estimating system availability, latency and the probability of accessing the newest data. An energy consumption model is also proposed for assessing the influence of consistency levels. Experimental results demonstrate the practical feasibility of our approach.
Non-relational databases (often termed as nosql) have recently emerged and have generated both interest and criticism. Interest because they address requirements that are very important in large-scale applications, cr...
详细信息
Non-relational databases (often termed as nosql) have recently emerged and have generated both interest and criticism. Interest because they address requirements that are very important in large-scale applications, criticism because of the comparison with well known relational achievements. One of the major problems often mentioned is the heterogeneity of the languages and of the interfaces they offer to developers and users. Different platforms and languages have been proposed, and applications developed for one system require significant effort to be migrated to another one. Here we propose a common programming interface to nosql systems called SOS (Save Our Systems). Its goal is to support application development by hiding the specific details of the various systems. It is based on a metamodelling approach, in the sense that the specific interfaces of the individual systems are mapped to a common one. The tool provides interoperability as well, since a single application can interact with several systems at the same time. (C) 2013 Elsevier Ltd. All rights reserved.
Despite the extensive research of using web services for security purposes, there is a big challenge towards finding a no radical solution for nosql injection attack. This paper presents an independent RESTful web ser...
详细信息
Despite the extensive research of using web services for security purposes, there is a big challenge towards finding a no radical solution for nosql injection attack. This paper presents an independent RESTful web service in a layered approach to detect nosql injection attacks in web applications. The proposed method is named DNIARS. DNIARS depends on comparing the generated patterns from nosql statement structure in static code state and dynamic state. Accordingly, the DNIARS can respond to the web application with the possibility of nosql injection attack. The proposed DNIARS was implemented in PHP plain code and can be considered as an independent framework that has the ability for responding to different requests formats like JSON, XML. To evaluate its performance, DNIARS was tested using the most common testing tools for RESTful web service. According to the results, DNIARS can work in real environments where the error rate did not exceed 1%.
When nosql database systems are used in an agile software development setting, data model changes occur frequently and thus, data is routinely stored in different versions. The management of versioned data leads to an...
详细信息
When nosql database systems are used in an agile software development setting, data model changes occur frequently and thus, data is routinely stored in different versions. The management of versioned data leads to an overhead potentially impeding the software development. Several data migration strategies exist that handle legacy data differently during data accesses, each of which can be characterized by certain advantages and disadvantages. Depending on the requirements for the software application, we evaluate and compare different migration strategies through metrics like migration costs and latency as well as precision and recall. Ideally, exactly that strategy should be selected whose characteristics fulfill service-level agreements and match the migration scenario, which depends on the query workload and the changes in the data model which imply an evolution of the database schema. In this paper, we present a methodology of self-adapting data migration, which automatically adjusts migration strategies and their parameters with respect to the migration scenario and service-level agreements, thereby contributing to the self-management of database systems and supporting agile development.
With the recent trend towards big data, a number of scalable data management systems: nosql and NewSQL are developed to manage massive data effectively. The algorithms involved in the architectural design of a data ma...
详细信息
With the recent trend towards big data, a number of scalable data management systems: nosql and NewSQL are developed to manage massive data effectively. The algorithms involved in the architectural design of a data management system defines the response time of an application. The behavior and performance of different nosql and NewSQL systems vary on the basis of these architectural aspects. Hence, the architectural assessment of a data management system is a vital task to perform in order to understand their weaknesses and strengths. Therefore, this paper assesses the architecture of some well-known nosql and NewSQL systems in detail. To enhance the clarity of discussion and analysis, we identified and grouped together the logically related architectural features, forming a feature vector (FV). Feature vectors related to transactional properties, fault tolerance, data storage, and data handling are designed and involved in architectural assessment. Various significant features are identified and assigned to a feature vector. Some well-known nosql and NewSQL systems are analyzed, compared, and discussed in depth with respect to these feature vectors. The discussion involves describing the algorithms used in implementation of a particular architectural feature by each of the systems and their suitability analysis in various scenarios. Important guidelines are presented that helps in filtering the potential data management systems on the basis of application requirements.
暂无评论