SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
The International Conference on Advances in ICT for Emerging Regions - ICTer2011 : 078-082


        NoSQL Query Processing System for Wireless
                             Ad-hoc and Sensor Networks
                                        T.A.M.C. Thantriwatte           1,   and c.l. Keppetiyagama 2

                                              University a/Colombo School a/Computing,
                                              No 35, Reid Avenue, Colombo 7, Sri Lanka
                              1   manulachathurika@gmail.com,                     2   chamath@ucsc. cmb . ac .lk



Abstract- TinyDB and TikiriDB are query processing systems,                     The main objective of this research is to transform current
which have been used successfully in wireless sensor networks                relational database model in WASN to NoSQL [6] database
(WSN). These query processing systems provide a SQL query                    model. NoSQL mainly focuses on performance and scalability.
interface to extract data from sensors and it has proven to be a
                                                                             NoSQL does not guarantee ACID properties and it does not
convenient   programming    interface    in   these    environments.
                                                                             require a fixed table structure. We implemented NoSQL query
However, a relational database model that guarantees ACID
properties is not a good match for a wireless sensor network
                                                                             processing system on Contiki operating system [7] and it was
since consistent connectivity or the uninterrupted operation of              built on the code base of the existing TikiriDB [3] query
the sensor nodes cannot be expected. We noted that the NoSQL                 processing system.
approach which does not rely on the ACID properties is a better                 The remainder of this paper is structured as follows. In
match for a query processing systems for WASNs. We developed                 Section II we reviewed the related work in current database
a   NoSQL    based   query processing system      on    the   Contiki
                                                                             abstractions and NoSQL. Section III presents the design of
operating system that is popular among the WSN community.
                                                                             nosql query processing system and in Section IV we discuss
Keywords- Wireless ad-hoc and sensor networks, RDBMS,                        the implementation of it. Our experiments and the results are
SQL, NoSQL, Database abstractions, Mesh routing, ACID                        presented in Section V. Our conclusion in Section VI and
                                                                             finally we conclude the paper with future work in Section VII.
                         I. INTRODUCTION
   Wireless sensor networks (WSN) are distributed systems                                           II. RELATED WORK
typically composed of embedded devices, each equipped with                      Existing WSN database abstractions use the SQL query
a processing unit, a wireless communication interface, as well               interface and relational database management system
as sensors and/or actuators. Many applications have been                     techniques. Currently there are several database abstractions
implemented on sensor networks that show the versatility of                  available for WSN. TinyDB [2], TikiriDB [3] and Cougar [4]
this technology, and some are already finding their way into                 are some of those database abstractions.
the mainstream. Often, in these scenarios tiny battery powered
                                                                             A.       TinyDB
devices are used for ease of deployment and increased
                                                                                TinyDB is the declarative database abstraction for TinyOS
flexibility. This enables embedding, processing and
                                                                             [8] operating system. TinyDB provides a simple SQL query
communication within the physical world, providing low-cost,
                                                                             interface. TinyDB architecture provides the sensor network
fine-grained interaction with the environment.
                                                                             user with a database file called 'sensor' which stores the
   Two main abstractions are available for developing                        sensor data values collected from the sensor network. TinyDB
applications for WSNs; message passing interfaces and SQL                    uses a resource aware algorithm to collect data [1].
query interfaces. First exposes the network to the
                                                                                TinyDB has a distributed query processor running on each
programmers and the second hides the complexity of the
                                                                             and every node in the sensor network. Users can submit their
network with a database abstraction. There are two popular
                                                                             queries from the base station. Then the queries are optimized
query processing systems for wireless sensor network, namely
                                                                             in the base station, because TinyDB uses power aware routing.
TinyDB (for TinyOS) [2] and TikiriDB (for Contiki) [3].
                                                                             After that the optimized query sent through the network using
These query processing systems represent the sensors on the
                                                                             the power aware routing tree.
sensor network as a table. Users can insert queries at the base
station, and it converts those queries into sensor node                         Acquisitional Query Processing (ACQP) is adopted for
understandable format, and this query is sent to nodes to get                TinyDB along with the traditional query features provided by
the results.                                                                 SQL [1]. It determines where and what order of data should be
                                                                             collected to minimize the power usage of the network. At the
   Database abstractions currently used in WSN are based on
                                                                             same time TinyDB also increases the data accuracy.
Relational Database Management Systems (RDBMS). These
relational models use ACID properties (atomicity, consistency,                  In TinyDB user can specify the sample period of a query as
isolation, durability). TinyDB and TikiriDB use SQL queries.                 a query parameter. Many queries like event-based, grouped
However ACID properties cannot be guaranteed in a sensor                     aggregation and actuation queries provide useful services to
network. In a sensor network we cannot rely on consistent                    sensor network applications. TinyDB also supports data
connectivity and sometimes sensor nodes may fail due to low                  logging and network health monitoring through spatial queries.
energy or some environmental constrains. Because of that,                    Queries can be prioritized in TinyDB.
data can get lost in the operational mode of the sensor network.
Furthermore, some SQL operations such as join queries,
aggregate queries are useless in this scenario.


978-1-4577-1114-51111$26.00 ©2011 IEEE
NoSQL Query Processing System for Wireless Ad-hoc and Sensor Networks                                                         79
  Here we show the example of TinyDB query;                      Relational Database Management Systems (RDBMS).
                                                                 Considering on RDBMS, those databases are design for
    SELECT COUNT ( * ) FROM sensors AS s, recentLight AS
                                                                 guarantee ACID properties. But NoSQL databases did not
rl WHERE rl.nodeid=s.nodeid AND s.light < rUight
                                                                 guarantee ACID properties. They basically design for the
SAMPLE PERIOD lOs; [2]
                                                                 performances and scalability. Normally NoSQL databases are
B. TikiriDB                                                      suitable for large set of data.
   TikiriDB [3] is another well known database abstraction for      Working with large set of data using a table based database
WASNs. TikiriDB is the database abstraction layer for Contiki systems, it needs lot of resources to store such massive data
operating system. Comparing TikiriDB with TinyDB, and the operations are time consuming. With regards to
TikiriDB support shared WASNs.                                   NoSQL databases handle massive amount of data is much
    TikiriDB also provide a SQL query interface called easier, and the performances are very fast when comparing
TikiriSQL to query the sensor network [3]. It is much more RDBMS. The only limitation of NoSQL is the memory and
similar to conventional query language apart from additional the processing speed. NoSQL database systems uses key,
syntax to comply with sensor network environment. SELECT value pair to store data so, if you want to keep your data in a
temp, humid FROM sensors SAMPLE PERIOD 2 FOR 10; [3] persistent state and have access to them, then this would be an
This query returns node id, humidity level, and temperature ideal database system.
level in every 2 second intervals for duration of 10 seconds        Currently there are several NoSQL database management
from all the available sensors nodes in the sensor network. systems available. Facebook's Cassandra, LinkedIn's Project
The results appended to the table as they are arriving to the Voldemort, Google's BigTable and Amazon's Dynamo are
user. Thus the resulting table dynamically expands according some of them. Chordless, CouchDB, Db4o, GT.M, Hbase,
to time.                                                         Hypertable, Memcachedb, Mnesia, MongoDB and Redis are
                                                                 some popular open source NoSQL projects as well.
      I) Client with TikiriSQL Library: The client side
functionalities of the TikiriDB is included in the TikiriSQL             III. DESIGN OF NoSQL DATABASE ABSTRACTION
library and used by a user program. It provides functions to        In this section we discuss the design of NoSQL database
issue SQL queries by the user program, parses the queries and abstraction for WSN from a higher level architecture to
sends them to the Serial Forwarder (SF). TikiriSQL library detailed design.
returns data to the user program which is received from the SF.
Its' main tasks are, 1) Accept queries from the user program, 2) A. Architecture of NoSQL Database Abstraction
Parse the query and put it to a manageable format, 3) If there      Figure 1 illustrates the overall design architecture of this
are any syntactic and semantic errors, it returns warnings to research including all the main components, which discussed
the user.                                                        in detail in the sub sections 1) to 5).
    The possible semantic errors are SELECT queries with            As displayed in Figure 1, NoSQL database abstraction
undefined field names, EVENT queries with undefined event consists of eight main components which are directly
names. All the available field names and event names are kept contributing to the database abstraction. These eight main
in an XML configuration file. 1) If no errors, send this new components are; front end NoSQL query, Lexical analyzer
formatted query to the serial forwarder, 2) Returns the query and parser, Query processor, Data packet, Serial forwarder
10 returned from the SF to the user program, 3) This query ID plug-in, Mesh routing protocol, Executing query In sensor
can be used to issue a STOP query to stop an executing query
identified by the query ID 4) Put the data received from the SF
to data structures and make it available to the user for
manipulation.

C. Cougar                                                                                           @
    Cougar is another well known approach to in-network
query processing in sensor networks. It supports a platform for
testing query processing techniques over ad-hoc sensor
networks. Cougar mainly has three-tier architecture. It consists          ..,

of,
   •   A query proxy
   •   Front-end components
   •   A graphical user interface
                                                                                 Fig. I: Higher level design architecture
   Cougar is designed for in-network query processing. In­
network processing reduces energy consumption and increase         motes and finally the Redis NoSQL database.
lifetime of sensor network significantly compared to                    1) NoSQL Query: NoSQL queries play a major role in
traditional centralized data extraction and analysis. Thus one     this database abstraction. This is a novel approach for sensor
of the main roles of the query proxy when processing user          network database abstractions, because existing database
queries is to perform in-network processing [4].                   abstractions consists of traditional SQL queries for querying
                                                                   sensor networks. We designed NoSQL query syntaxes for
D. NoSQL                                                           querying sensor networks. Most of these queries are similar to
   NoSQL means Not Only SQL. The concept of NoSQL                  RedisDB NoSQL queries, because we adopt RedisDB
starts from 1998. NoSQL databases are differing from               architecture for our abstraction. Designed NoSQL queries are,

1sl & 2nd September 2011                  The International Conference on Advances in rCT for Emerging Regions - ICTer2011
80                                                                                    T.A.M.C. Thantriwatte, and c.1. Keppetiyagama
     •   Select Query: Appropriate keyword followed by                 Redis key space is divided to 4096 hash slots. In order to
         relevant key                                               achieve that, different nodes hold a subset of hash slots. All
     •   Join Query: Appropriate keyword followed by relevant       the nodes are connected to each other and the functionalities
         key followed by valid set condition for key                of each and every node is equivalent.
     •   Range Query: Appropriate keyword followed by
                                                                                            IV. IMPLEMENTATION
         relevant key followed by valid range condition
                                                                       This section discusses the implementation of the NoSQL
     •   Ranking Data: Appropriate keyword followed by key
                                                                    database abstraction for wireless ad-hoc and sensor networks
         and relevant member name
                                                                    in more detail. The focus is on how the NoSQL queries are
     •   Get the key of members: Appropriate keyword followed       executed in actual sensor motes and results are sent back to
         by relevant key                                            the base station. Following sub sections A, B, C and 0 will
  NoSQL query interface is linked with a lexer. The lexer           describe the implementation procedure of our NoSQL
syntactically analyses the NoSQL query according to the rules       database abstraction for Contiki operating system.
defined. Following sub section 2) introduces the                    A.   NoSQL Grammar Implementation
functionalities of the NoSQL lexer and the parser.
                                                                       We have used ANTLR tool to define our NoSQL grammar
     2) Lexical Analyser and Parser: Input NoSQL query              definitions. Fist we defined the NoSQL grammars for our
pass to lexical analyser, and it read the query characters from     sensor network and then the ANTLR tool generates the
the input stream which is tokenized. These token identified         appropriate lexical analyser and parser for it. Using ANTLR
using the predefined NoSQL lexer rules in the grammar file          we can test and generate the parse tree of our NoSQL queries
which are implemented using regular expressions.                    easily. Implemented NoSQL queries are;
   The main functionality of lexer is, generating a stream of            •   GET temp SET temp 2 FOR 100;
tokens according to the NoSQL query and passing it to a
                                                                         •   GET humid SET temp 2 FOR 100;
parser for syntax analysis. It also ignores the whitespaces and
                                                                         •   ZRANK temp 2.0;
comments.
                                                                         •   GET humid SET humid < 45;
   Parsing is the second stage of NoSQL grammar validation
according to the predefined NoSQL grammar rules. Parser                  •   ZRANK light 5.0;
checks the syntax and semantics of the NoSQL query and              8. Data Packet Implementation
generate the parse tree. If parser can find syntactic or semantic
                                                                       We had implemented the data packet according to the
errors in the query it produces an error message. Finally the
                                                                    parsed NoSQL query from the lexical analyzer and parser.
parser produces a C code file according to the NoSQL query
                                                                    The size of the data packet is 128 bits and it is divided into
and which is passed to the query processor.
                                                                    following categories.
     3) Query Processor: The query processor processes the
C file generated by the parser and distinguishes the parts of
the query such as query type, relevant keys and other query
conditions. According to these query parts it generates query
id, query message header and query pay load. After that the
processed query is considered as a data packet, which is ready              I      ,         f    -.L   1               -r            (
                                                                         8 bits   8 bits   8 bits     8 bits          16 bits      32 bits
to be routed and executed in sensor motes.
                                                                                           Fig. 2: Structure of data packet
     4) Mesh Routing: In wireless mesh network concept,
communication is done by using the ad-hoc mode, also called
as peer-to-peer. Nodes in a mesh network should be able to               •   No of fields: It mentions what are the fields we want to
discover each and every node and broadcast messages to all its               sense from the sensor mote. According to the query
neighbors.                                                                   relevant fields are set to the data packet.
   In mesh networks we used hybrid routing protocol to pass              •   No of expressions: This indicates the number of
our queries from the base station to destinations. Hybrid                    expressions that are appeared in the SET clause.
protocols consist of both proactive and reactive routing                 •   For example GET temp SET temp> 10 2 FOR 10; In
protocols. Initially routing starts in proactive mode and then               this query "temp> 10" will goes to No of expression
move to reactive flooding in the network. In this research we                section of the data packet.
used the inbuilt mesh routing protocol which is in Rime stack            •   Input buffer 10: This defines the data source for the
in Contiki [7] operating system for our network routing                      query. If this is zero, direct data    from sensors is used
purpose.                                                                     for the query. None zero positive integer represents the
     5) Redis Architecture: RedisDB is an open source,                       input buffer identification number. Usually, input
advanced key-value storage [5]. It is often referred to as a data            buffer is storage medium such as SO card.
structure server since keys can contain Strings, Hashes, List,           •   Output buffer 10: This defines the location where the
Sets and Sorted-sets. Redis protocol consists of a network                   results of a query are stored. If this is zero, results are
layer where clients connect to port 6379. In Redis server there              sent to the node who issued the query. None zero
are different kinds of replies according to client requests. They            positive integer represents the out buffer identification
are error reply, integer reply, bulk replies, multi-bulk replies             number. Usually, output buffer is storage medium such
and nil elements in multi-bulk replies.                                      as SO card.



The International Conference on Advances in ICT for Emerging Regions - ICTer20 l1                                 1sl & 2nd September 2011
NoSQL Query Processing System for Wireless Ad-hoc and Sensor Networks                                                                        81
     •   Epoch duration: This is used to define the time duration           •    ZINTERSTORE destination numkeys key [key ...]:
         between two executions of the        query. The value of                Intersect multiple Sorted-sets and store the resulting
         this should be greater than zero. The duration is                       Sorted-set in a new key.
         specified in seconds. Epoch duration is set in the SET
         clause of the query.                                                                  V. RESULTS
     •   Number of epochs: This defines the number of query               In this section, we evaluate the implementation of NoSQL
         executions. Zero causes to execute the query infinite         query processing system for wireless ad-hoc networks on the
         number of times.                                              top of Contiki operating system.
     •   Fields: Field consists with 16 bits. It consists of a         A.   Evaluation platform
         unique id, result flag and operator. 3 bits are not used in      We used two platforms to test and evaluate our system. One
         field section.                                                is COOJA [9] simulation platform while other is a hardware
     •   Expressions: Expression consists with 32 bits. Every          platform. We often used COOJA simulation platform to
         field had relevant expression. It consists with data          develop and test our system, because testing with real sensor
         which mapped to field id and operator.                        motes is little bit tricky part in sensor networks and most of
                                                                       the system are platform independent. After successful testing
C.   Implementation of Serial Forwarder                                with COOJA simulation platform, we test our system with real
   We did not implement the serial forwarder. Existing                 sensor motes as well.
TikiriDB [3] 0.2 release there was a serial forwarder which we
                                                                       B.   Performance Analysis
can directly plug into our NoSQL database abstraction. So we
used that serial forwarder plug-in to sent data packet to the             In performance analysis we analyzed the query execution
                                                                       time of TikiriDB [3] database abstraction and our newly
network.
                                                                       designed NoSQL database abstraction. We used following
   Once data packets arrive at the serial forwarder it assigns a
                                                                       queries to evaluate the execution time of both database
unique query ID to each and every data packet. It also stores
                                                                       abstractions. For TikiriDB database abstraction,
the query ID and the client ID mapping in a table which is
located in its' memory. After that it sends the query to the                •    SELECT temp FROM sensors SAMPLE PERIOD 2
network with the query ID and ID for the serial forwarder.                       FOR 10;
When data arrives from the sensor network, serial forwarder                 •    SELECT humid FROM sensors SAMPLE PERIOD 2
searches the relevant client 10 from its' table and sends the                    FOR 10;
relevant data to the base stations. All the implementations of
serial forwarder are done by using C++ language and the                     For NoSQL database abstraction,
serial forwarder COOJA [9] plug-in which was written by                     •    GET temp SET temp 2 FOR 10;
using Java language.                                                        •    GET humid SET humid 2 FOR 10;
   Routing is another important part in sensor networks. Here
we used inbuilt mesh routing protocol which is in Rime stack              We get the execution time of queries by changing the
in Contiki [7] operating system for routing.                           sample period of both SQL and NoSQL queries. Following
                                                                       figure shows the query execution time of TikiriDB database
                                                                       abstraction and NoSQL database abstraction with respect to
D.   Implementation of RedisDB Plug-in
                                                                       sample periods. The X and Y axis represent sample period
   We have done the implementation of Redis backend in                 variation in seconds and response time in milliseconds
iterative manner. RedisDB supports different data structures
                                                                       respectively.
such as Strings, Hashes, Lists, Sets and Sorted-sets. First we
have implemented our backend data structure using Strings                       350000
and evaluate the performances of our NoSQL database                             300000
                                                                                250000
abstractions. After that we done the implementation using
                                                                                200000
other data structures as well and evaluates them. These                         150000                                                •   NoSQL
evaluations are mentioned under section v-co According to                       100000
                                                                                                                                      .SQL
those evaluations, finally we implemented with Sorted-sets.                      50000
                                                                                     o
   Sorted-set implementation of our NoSQL database
abstraction basically works with two values called key and                               2FOR     2FOR    2FOR    2FOR 2FOR
                                                                                          10       100    1000    10000 100000
member. In this implementation we mapped sensing field of a
query as key and sensing values as members. According to
                                                                                     Fig. 3: NoSQL against SQL query execution time
these key and member values we can use following NoSQL
queries in our database abstraction.                                      According to the Figure 3, it was observed that for a shorter
                                                                       time periods, both database abstractions show the same
     •   ZADD key score member: Add a member to a Sorted­
                                                                       performances, but when the time period increases,
         set, or update its score if it already exists.
                                                                       performances of NoSQL database abstraction get better. That
     •   ZCARD key: Get the number of members in a Sorted­             means execution time of NoSQL query in sensor networks get
         set.                                                          lesser time than execution time of SQL query in sensor
     •   ZCOUNT key min max: Count the members in a                    networks. Reason for that performance bottleneck in SQL
         Sorted-set with scores within the given values.               database abstraction is, processing time of SQL query.
     •   ZlNCRBY key increment member: Increment the score             According to above results we can conclude processing
         of a member in a Sorted-set.                                  NoSQL queries are much more efficient than processing SQL


1sl & 2nd September 20 I I                    The International Conference on Advances in ICT for Emerging Regions - ICTer20 11
82                                                                               TAM.C. Thantriwatte, and C.I. Keppetiyagama
queries in sensor networks. This cause saves energy in sensor   backend data structure is the suitable approach for NoSQL
motes.                                                          database abstraction for wireless ad-hoc networks.
C.   Runtime Analysis                                                                   VI. CONCLUSION
   In section IV-D mentioned that we used different data           In this paper we have first reviewed the existing database
structures as backend of our NoSQL database abstraction. We     abstractions in WSN. Then we discussed about the issues
tested the backend data structures against the time             related to existing database abstractions in wireless ad-hoc
complexities of NoSQL queries. We obtained following            networks. Then we discussed the importance of using NoSQL
results.                                                        as the underlying database abstraction for ad-hoc networks.
     •   SET query analysis                                        According to the experimental results we conclude that
                                                                NoSQL queries perform better when using longer sample
                                                                periods. This shows higher scalability for the networks.
                              TABLE I                           Secondly we evaluated the query performance with regard to
                                                                the time complexity of different data structures, and it showed
                                                                that using Sorted-sets we can achieve best results.
                                                  O(log(N»
                                                                                         VII. FUTURE WORK
     •   GET query analysis                                        This research has evolved from relational database model to
                                                                NoSQL database model. Therefore query optimization is not
                                                                good as the relational model. Query optimization related to
                              TABLE II                          this research is to be done in near future. In addition optimized
                                                                routing protocols, security layers can also be incorporated to
                                                                this model.
                                                  O(log(N»
                                                                                         ACKNOWLEDGMENTS

   From the above tables it can be observed that Sorted-sets       The authors would like to express their sincere thanks to the
show the best time complexity. After analysing Sorted-set       people in SCORE lab of University of Colombo School of
furthermore for different NoSQL query operations, we got the    Computing. We would also like to thank the support given by
following results.                                              Primal Wijesekara from University of British Columbia, K.C
                                                                Hewage from UCSC, Nayanagith M. Laxman from UCSC and
                                                                A.P. Sayakkara from UCSC.
                            TABLE III
                     SORTED-- SET ANALYSIS [10]                                               REFERENCES

     Query                         Time Complexity              [1]    C.Weyer, V.Turau, ALagemann, and J.Nolte, "Programming wireless
                                                                       sensor network s in a self-stabilizing style," Sensor technologies and
     ZADD                          o (log(N»                           Applications, International Coriference on, vol. 0, pp. 610-616, 2009.
                                                                [2]    S.R.Madden, M.J.Franklin, J.M.Helerstein, and W.Hong, "TinyDB: an
     ZCARD                         0(1)
                                                                       acquisitional query processing system for sensor networks," ACM
     ZCOUNT                        o (log(N)+M)                        Transactions on Database Systems, vol. 30, no. 1, pp. 122-173,
                                                                       Mar.2005.                        [Online].               Available:
     ZlNCRBY                       o (log(N»                           http://portal.acm.orglcitation.cfm?doid=1061318.1061322
                                                                [3]    N.M.Laxaman, M.D.J.S.GoonathiIIake, and K.D. Zoysa, "TikiriDB:
     ZlNTERSTORE                   o (N*K)+O (M*log(M»
                                                                       Shared Wireless Sensor Network Database for Multi-User Data
     ZRANGE                        o (log(N)+M)                        Access," CSSL 2010.
                                                                [4]    Y.Yao, "The cougar approach to in-network query processing in sensor
     ZRANGEBYSCORE                 o (log(N)+M)
                                                                       networks," ACM SIGMOD Record, vol. 31, no. 3, p.9, Sep. 2002.
     ZRANK                         o (log(N»                    [5]    M.Seeger, "Key-Value stores: a practical overview," Media, pp. 1-21,
                                                                       2009.
     ZREM                          o (log(N»
                                                                [6]    G. Decandia, D. Hastorun, M. Jampani,G. Kakulapati, A Lakshman, A
     ZREMRANGEBYRAK                o (log(N)+M)                        Pilchin,S. Sivasubramanian, P. Vosshal, and W. Vogels, "Dynamo :
                                                                       Amazon Highly Available Key-value Store," October, pp. 205-220,
     ZREMRANGEBYSCORE              o (log(N)+M)                        2007.
                                                                [7]    A Dunkels, B. Gronval, and T. Voigt, "Contiki - a lightweight and
     ZREVRANGE                     o (log(N)+M)
                                                                       flexible operating system for tiny networked sensors," 29th Annual
     ZREVRANGEBYSCORE              o (log(N)+M)                        IEEE International Conference on Local Computer Networks, pp 455-
                                                                       462.                          [Online].                    Available:
     ZREVRANK                      o (log(N»                           http://ieeexplore.ieee.orglxpllfreeabs all.jsp?amumber=1367266
                                                                                                          _




                                                                [8]    P. Levis, S. Madden, 1. Polastre, R. Szewczyk, K. Whitehouse, AWoo,
     ZSCORE                        0(1)
                                                                       D. Gay, J. Hill, M.Welsh, E. Brewer et aI., "TinyOS: An operating
     ZUNIONSTORE                   O(N) + OeM log(N»                   system for wireless sensor networks," Ambient Intelligence, vol. 35,
                                                                       2005.
   According to table III, we figure out time complexities of   [9]    F. Osterlind, A Dunkels, J. Eriksson, N. Finne, and T. Voigt, "Cross­
                                                                       level sensor network simulation with COOJA," Proceedings. 200631st
NoSQL queries under Sorted-sets backend data structure gives
                                                                       IEEE Conference on Local Computer Networks, pp. 641-648, Nov.
better performances than Strings, Hashes, Lists and Sets.              2006.                         [Online].                    Available:
   Also the problems came under Strings, Hashes, Lists and             http://ieeexplore.ieee.orgllpdocs/epic03/wrapper.htm?amumber=41166
                                                                       33
Sets can be solved using Sorted-sets. According to above
                                                                [10]   Command reference - Redis. http://redis.io/commands; 2011: [Online
comparison results, we came up with a conclusion, Sorted-sets
                                                                       accessed: 10 Jun 2011].


The International Conference on Advances in ICT for Emerging Regions - ICTer2011                              15t & 2nd September 2011

Más contenido relacionado

La actualidad más candente

Applications of SOA and Web Services in Grid Computing
Applications of SOA and Web Services in Grid ComputingApplications of SOA and Web Services in Grid Computing
Applications of SOA and Web Services in Grid Computingyht4ever
 
IRJET- Securely Performing Operations on Images using PSNR
IRJET-  	  Securely Performing Operations on Images using PSNRIRJET-  	  Securely Performing Operations on Images using PSNR
IRJET- Securely Performing Operations on Images using PSNRIRJET Journal
 
From Physical to Virtual Wireless Sensor Networks using Cloud Computing
From Physical to Virtual Wireless Sensor Networks using Cloud Computing From Physical to Virtual Wireless Sensor Networks using Cloud Computing
From Physical to Virtual Wireless Sensor Networks using Cloud Computing IJORCS
 
ANALYSIS OF ATTACK TECHNIQUES ON CLOUD BASED DATA DEDUPLICATION TECHNIQUES
ANALYSIS OF ATTACK TECHNIQUES ON CLOUD BASED DATA DEDUPLICATION TECHNIQUESANALYSIS OF ATTACK TECHNIQUES ON CLOUD BASED DATA DEDUPLICATION TECHNIQUES
ANALYSIS OF ATTACK TECHNIQUES ON CLOUD BASED DATA DEDUPLICATION TECHNIQUESneirew J
 
A Survey on Neural Network Based Minimization of Data Center in Power Consump...
A Survey on Neural Network Based Minimization of Data Center in Power Consump...A Survey on Neural Network Based Minimization of Data Center in Power Consump...
A Survey on Neural Network Based Minimization of Data Center in Power Consump...IJSTA
 
Secure Access to Outsourced Databases
Secure Access to Outsourced DatabasesSecure Access to Outsourced Databases
Secure Access to Outsourced DatabasesIOSR Journals
 
Survey on cloud backup services of personal storage
Survey on cloud backup services of personal storageSurvey on cloud backup services of personal storage
Survey on cloud backup services of personal storageeSAT Journals
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IAngelo Corsaro
 
IRJET - A Secure AMR Stganography Scheme based on Pulse Distribution Mode...
IRJET -  	  A Secure AMR Stganography Scheme based on Pulse Distribution Mode...IRJET -  	  A Secure AMR Stganography Scheme based on Pulse Distribution Mode...
IRJET - A Secure AMR Stganography Scheme based on Pulse Distribution Mode...IRJET Journal
 
Mutual query data sharing protocol for public key encryption through chosen-c...
Mutual query data sharing protocol for public key encryption through chosen-c...Mutual query data sharing protocol for public key encryption through chosen-c...
Mutual query data sharing protocol for public key encryption through chosen-c...IJECEIAES
 
Grid computing [2005]
Grid computing [2005]Grid computing [2005]
Grid computing [2005]Raul Soto
 
Ijarcet vol-2-issue-3-901-903
Ijarcet vol-2-issue-3-901-903Ijarcet vol-2-issue-3-901-903
Ijarcet vol-2-issue-3-901-903Editor IJARCET
 
Introduction to SDN, NFV & Edge Computing
Introduction to SDN, NFV & Edge ComputingIntroduction to SDN, NFV & Edge Computing
Introduction to SDN, NFV & Edge ComputingShahjahansirat
 
Major Report on ADIAN
Major Report on ADIANMajor Report on ADIAN
Major Report on ADIANsmittal121
 
Network virtualization
Network virtualizationNetwork virtualization
Network virtualizationRabah GUEDREZ
 
Grid Computing - Collection of computer resources from multiple locations
Grid Computing - Collection of computer resources from multiple locationsGrid Computing - Collection of computer resources from multiple locations
Grid Computing - Collection of computer resources from multiple locationsDibyadip Das
 

La actualidad más candente (18)

Applications of SOA and Web Services in Grid Computing
Applications of SOA and Web Services in Grid ComputingApplications of SOA and Web Services in Grid Computing
Applications of SOA and Web Services in Grid Computing
 
IRJET- Securely Performing Operations on Images using PSNR
IRJET-  	  Securely Performing Operations on Images using PSNRIRJET-  	  Securely Performing Operations on Images using PSNR
IRJET- Securely Performing Operations on Images using PSNR
 
From Physical to Virtual Wireless Sensor Networks using Cloud Computing
From Physical to Virtual Wireless Sensor Networks using Cloud Computing From Physical to Virtual Wireless Sensor Networks using Cloud Computing
From Physical to Virtual Wireless Sensor Networks using Cloud Computing
 
ANALYSIS OF ATTACK TECHNIQUES ON CLOUD BASED DATA DEDUPLICATION TECHNIQUES
ANALYSIS OF ATTACK TECHNIQUES ON CLOUD BASED DATA DEDUPLICATION TECHNIQUESANALYSIS OF ATTACK TECHNIQUES ON CLOUD BASED DATA DEDUPLICATION TECHNIQUES
ANALYSIS OF ATTACK TECHNIQUES ON CLOUD BASED DATA DEDUPLICATION TECHNIQUES
 
A Survey on Neural Network Based Minimization of Data Center in Power Consump...
A Survey on Neural Network Based Minimization of Data Center in Power Consump...A Survey on Neural Network Based Minimization of Data Center in Power Consump...
A Survey on Neural Network Based Minimization of Data Center in Power Consump...
 
Secure Access to Outsourced Databases
Secure Access to Outsourced DatabasesSecure Access to Outsourced Databases
Secure Access to Outsourced Databases
 
Survey on cloud backup services of personal storage
Survey on cloud backup services of personal storageSurvey on cloud backup services of personal storage
Survey on cloud backup services of personal storage
 
Micro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part IMicro services Architecture with Vortex -- Part I
Micro services Architecture with Vortex -- Part I
 
Grid computing & its applications
Grid computing & its applicationsGrid computing & its applications
Grid computing & its applications
 
IRJET - A Secure AMR Stganography Scheme based on Pulse Distribution Mode...
IRJET -  	  A Secure AMR Stganography Scheme based on Pulse Distribution Mode...IRJET -  	  A Secure AMR Stganography Scheme based on Pulse Distribution Mode...
IRJET - A Secure AMR Stganography Scheme based on Pulse Distribution Mode...
 
Mutual query data sharing protocol for public key encryption through chosen-c...
Mutual query data sharing protocol for public key encryption through chosen-c...Mutual query data sharing protocol for public key encryption through chosen-c...
Mutual query data sharing protocol for public key encryption through chosen-c...
 
Grid computing [2005]
Grid computing [2005]Grid computing [2005]
Grid computing [2005]
 
Ijarcet vol-2-issue-3-901-903
Ijarcet vol-2-issue-3-901-903Ijarcet vol-2-issue-3-901-903
Ijarcet vol-2-issue-3-901-903
 
Grid computing ppt
Grid computing pptGrid computing ppt
Grid computing ppt
 
Introduction to SDN, NFV & Edge Computing
Introduction to SDN, NFV & Edge ComputingIntroduction to SDN, NFV & Edge Computing
Introduction to SDN, NFV & Edge Computing
 
Major Report on ADIAN
Major Report on ADIANMajor Report on ADIAN
Major Report on ADIAN
 
Network virtualization
Network virtualizationNetwork virtualization
Network virtualization
 
Grid Computing - Collection of computer resources from multiple locations
Grid Computing - Collection of computer resources from multiple locationsGrid Computing - Collection of computer resources from multiple locations
Grid Computing - Collection of computer resources from multiple locations
 

Similar a No sql query processing system for wireless ad hoc and sensor networks

Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...
Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...
Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...AIRCC Publishing Corporation
 
Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...
Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...
Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...AIRCC Publishing Corporation
 
3 rd International Conference on Signal Processing, VLSI Design & Communicati...
3 rd International Conference on Signal Processing, VLSI Design & Communicati...3 rd International Conference on Signal Processing, VLSI Design & Communicati...
3 rd International Conference on Signal Processing, VLSI Design & Communicati...AIRCC Publishing Corporation
 
Basic Architecture of Wireless Sensor Network
Basic Architecture of Wireless Sensor NetworkBasic Architecture of Wireless Sensor Network
Basic Architecture of Wireless Sensor NetworkKarthik
 
Database Management in Different Applications of IOT
Database Management in Different Applications of IOTDatabase Management in Different Applications of IOT
Database Management in Different Applications of IOTijceronline
 
First review presentation
First review presentationFirst review presentation
First review presentationArvind Krishnaa
 
NECOS Industrial Workshop Technical highlights by Prof. Alex Galis (Universit...
NECOS Industrial Workshop Technical highlights by Prof. Alex Galis (Universit...NECOS Industrial Workshop Technical highlights by Prof. Alex Galis (Universit...
NECOS Industrial Workshop Technical highlights by Prof. Alex Galis (Universit...Christian Esteve Rothenberg
 
A novel solution of distributed memory no sql database for cloud computing
A novel solution of distributed memory no sql database for cloud computingA novel solution of distributed memory no sql database for cloud computing
A novel solution of distributed memory no sql database for cloud computingJoão Gabriel Lima
 
ACCELERATED DEEP LEARNING INFERENCE FROM CONSTRAINED EMBEDDED DEVICES
ACCELERATED DEEP LEARNING INFERENCE FROM CONSTRAINED EMBEDDED DEVICESACCELERATED DEEP LEARNING INFERENCE FROM CONSTRAINED EMBEDDED DEVICES
ACCELERATED DEEP LEARNING INFERENCE FROM CONSTRAINED EMBEDDED DEVICESIAEME Publication
 
Cloud computing and Software defined networking
Cloud computing and Software defined networkingCloud computing and Software defined networking
Cloud computing and Software defined networkingsaigandham1
 
Energy efficient cluster-based service discovery in wireless sensor networks
Energy efficient cluster-based service discovery in wireless sensor networksEnergy efficient cluster-based service discovery in wireless sensor networks
Energy efficient cluster-based service discovery in wireless sensor networksambitlick
 
Towards an Open Data Center with an Interoperable Network (ODIN) Volume 3: So...
Towards an Open Data Center with an Interoperable Network (ODIN) Volume 3: So...Towards an Open Data Center with an Interoperable Network (ODIN) Volume 3: So...
Towards an Open Data Center with an Interoperable Network (ODIN) Volume 3: So...IBM India Smarter Computing
 
NoSQL Databases: An Introduction and Comparison between Dynamo, MongoDB and C...
NoSQL Databases: An Introduction and Comparison between Dynamo, MongoDB and C...NoSQL Databases: An Introduction and Comparison between Dynamo, MongoDB and C...
NoSQL Databases: An Introduction and Comparison between Dynamo, MongoDB and C...Vivek Adithya Mohankumar
 
paper presentation _ survey of wireless sensor netwrok
paper presentation _ survey of wireless sensor netwrokpaper presentation _ survey of wireless sensor netwrok
paper presentation _ survey of wireless sensor netwrokejbyun77
 
Nosql query processing system for wireless sensor networks
Nosql query processing system for wireless sensor networksNosql query processing system for wireless sensor networks
Nosql query processing system for wireless sensor networksNikhil Bhaware
 
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...Mydbops
 

Similar a No sql query processing system for wireless ad hoc and sensor networks (20)

358 365
358 365358 365
358 365
 
Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...
Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...
Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...
 
Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...
Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...
Cyber Infrastructure as a Service to Empower Multidisciplinary, Data-Driven S...
 
3 rd International Conference on Signal Processing, VLSI Design & Communicati...
3 rd International Conference on Signal Processing, VLSI Design & Communicati...3 rd International Conference on Signal Processing, VLSI Design & Communicati...
3 rd International Conference on Signal Processing, VLSI Design & Communicati...
 
Basic Architecture of Wireless Sensor Network
Basic Architecture of Wireless Sensor NetworkBasic Architecture of Wireless Sensor Network
Basic Architecture of Wireless Sensor Network
 
Database Management in Different Applications of IOT
Database Management in Different Applications of IOTDatabase Management in Different Applications of IOT
Database Management in Different Applications of IOT
 
First review presentation
First review presentationFirst review presentation
First review presentation
 
NECOS Industrial Workshop Technical highlights by Prof. Alex Galis (Universit...
NECOS Industrial Workshop Technical highlights by Prof. Alex Galis (Universit...NECOS Industrial Workshop Technical highlights by Prof. Alex Galis (Universit...
NECOS Industrial Workshop Technical highlights by Prof. Alex Galis (Universit...
 
A novel solution of distributed memory no sql database for cloud computing
A novel solution of distributed memory no sql database for cloud computingA novel solution of distributed memory no sql database for cloud computing
A novel solution of distributed memory no sql database for cloud computing
 
ACCELERATED DEEP LEARNING INFERENCE FROM CONSTRAINED EMBEDDED DEVICES
ACCELERATED DEEP LEARNING INFERENCE FROM CONSTRAINED EMBEDDED DEVICESACCELERATED DEEP LEARNING INFERENCE FROM CONSTRAINED EMBEDDED DEVICES
ACCELERATED DEEP LEARNING INFERENCE FROM CONSTRAINED EMBEDDED DEVICES
 
Cloud computing and Software defined networking
Cloud computing and Software defined networkingCloud computing and Software defined networking
Cloud computing and Software defined networking
 
No Sql Databases
No Sql DatabasesNo Sql Databases
No Sql Databases
 
Rise of NewSQL
Rise of NewSQLRise of NewSQL
Rise of NewSQL
 
Energy efficient cluster-based service discovery in wireless sensor networks
Energy efficient cluster-based service discovery in wireless sensor networksEnergy efficient cluster-based service discovery in wireless sensor networks
Energy efficient cluster-based service discovery in wireless sensor networks
 
Towards an Open Data Center with an Interoperable Network (ODIN) Volume 3: So...
Towards an Open Data Center with an Interoperable Network (ODIN) Volume 3: So...Towards an Open Data Center with an Interoperable Network (ODIN) Volume 3: So...
Towards an Open Data Center with an Interoperable Network (ODIN) Volume 3: So...
 
NoSQL Databases: An Introduction and Comparison between Dynamo, MongoDB and C...
NoSQL Databases: An Introduction and Comparison between Dynamo, MongoDB and C...NoSQL Databases: An Introduction and Comparison between Dynamo, MongoDB and C...
NoSQL Databases: An Introduction and Comparison between Dynamo, MongoDB and C...
 
paper presentation _ survey of wireless sensor netwrok
paper presentation _ survey of wireless sensor netwrokpaper presentation _ survey of wireless sensor netwrok
paper presentation _ survey of wireless sensor netwrok
 
Nosql query processing system for wireless sensor networks
Nosql query processing system for wireless sensor networksNosql query processing system for wireless sensor networks
Nosql query processing system for wireless sensor networks
 
Evolution of internet by Ali Kashif
Evolution of internet  by Ali KashifEvolution of internet  by Ali Kashif
Evolution of internet by Ali Kashif
 
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
Choosing the Right Database: Exploring MySQL Alternatives for Modern Applicat...
 

Más de João Gabriel Lima

Deep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationDeep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationJoão Gabriel Lima
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackJoão Gabriel Lima
 
Realidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitRealidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitJoão Gabriel Lima
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência ArtificialJoão Gabriel Lima
 
Mineração de Dados no Weka - Regressão Linear
Mineração de Dados no Weka -  Regressão LinearMineração de Dados no Weka -  Regressão Linear
Mineração de Dados no Weka - Regressão LinearJoão Gabriel Lima
 
Segurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoSegurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoJoão Gabriel Lima
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google HackingJoão Gabriel Lima
 
Segurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisSegurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisJoão Gabriel Lima
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...João Gabriel Lima
 
Mineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoMineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoJoão Gabriel Lima
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaJoão Gabriel Lima
 
Visualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideVisualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideJoão Gabriel Lima
 
REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?João Gabriel Lima
 
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...João Gabriel Lima
 
E-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosE-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosJoão Gabriel Lima
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.jsJoão Gabriel Lima
 
Hackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptHackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptJoão Gabriel Lima
 

Más de João Gabriel Lima (20)

Cooking with data
Cooking with dataCooking with data
Cooking with data
 
Deep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer SegmentationDeep marketing - Indoor Customer Segmentation
Deep marketing - Indoor Customer Segmentation
 
Aplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full StackAplicações de Alto Desempenho com JHipster Full Stack
Aplicações de Alto Desempenho com JHipster Full Stack
 
Realidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKitRealidade aumentada com react native e ARKit
Realidade aumentada com react native e ARKit
 
JS - IA
JS - IAJS - IA
JS - IA
 
Big data e Inteligência Artificial
Big data e Inteligência ArtificialBig data e Inteligência Artificial
Big data e Inteligência Artificial
 
Mineração de Dados no Weka - Regressão Linear
Mineração de Dados no Weka -  Regressão LinearMineração de Dados no Weka -  Regressão Linear
Mineração de Dados no Weka - Regressão Linear
 
Segurança na Internet - Estudos de caso
Segurança na Internet - Estudos de casoSegurança na Internet - Estudos de caso
Segurança na Internet - Estudos de caso
 
Segurança na Internet - Google Hacking
Segurança na Internet - Google  HackingSegurança na Internet - Google  Hacking
Segurança na Internet - Google Hacking
 
Segurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentaisSegurança na Internet - Conceitos fundamentais
Segurança na Internet - Conceitos fundamentais
 
Web Machine Learning
Web Machine LearningWeb Machine Learning
Web Machine Learning
 
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
Mineração de Dados com RapidMiner - Um Estudo de caso sobre o Churn Rate em...
 
Mineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - ClusterizaçãoMineração de dados com RapidMiner + WEKA - Clusterização
Mineração de dados com RapidMiner + WEKA - Clusterização
 
Mineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e WekaMineração de dados na prática com RapidMiner e Weka
Mineração de dados na prática com RapidMiner e Weka
 
Visualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark sideVisualizacao de dados - Come to the dark side
Visualizacao de dados - Come to the dark side
 
REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?REST x SOAP : Qual abordagem escolher?
REST x SOAP : Qual abordagem escolher?
 
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
Game of data - Predição e Análise da série Game Of Thrones a partir do uso de...
 
E-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãosE-trânsito cidadão - IPVA em suas mãos
E-trânsito cidadão - IPVA em suas mãos
 
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js[Estácio - IESAM] Automatizando Tarefas com Gulp.js
[Estácio - IESAM] Automatizando Tarefas com Gulp.js
 
Hackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com JavascriptHackeando a Internet das Coisas com Javascript
Hackeando a Internet das Coisas com Javascript
 

Último

IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdfPedro Manuel
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxUdaiappa Ramachandran
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarPrecisely
 

Último (20)

IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Nanopower In Semiconductor Industry.pdf
Nanopower  In Semiconductor Industry.pdfNanopower  In Semiconductor Industry.pdf
Nanopower In Semiconductor Industry.pdf
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Building AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptxBuilding AI-Driven Apps Using Semantic Kernel.pptx
Building AI-Driven Apps Using Semantic Kernel.pptx
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
AI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity WebinarAI You Can Trust - Ensuring Success with Data Integrity Webinar
AI You Can Trust - Ensuring Success with Data Integrity Webinar
 

No sql query processing system for wireless ad hoc and sensor networks

  • 1. The International Conference on Advances in ICT for Emerging Regions - ICTer2011 : 078-082 NoSQL Query Processing System for Wireless Ad-hoc and Sensor Networks T.A.M.C. Thantriwatte 1, and c.l. Keppetiyagama 2 University a/Colombo School a/Computing, No 35, Reid Avenue, Colombo 7, Sri Lanka 1 manulachathurika@gmail.com, 2 chamath@ucsc. cmb . ac .lk Abstract- TinyDB and TikiriDB are query processing systems, The main objective of this research is to transform current which have been used successfully in wireless sensor networks relational database model in WASN to NoSQL [6] database (WSN). These query processing systems provide a SQL query model. NoSQL mainly focuses on performance and scalability. interface to extract data from sensors and it has proven to be a NoSQL does not guarantee ACID properties and it does not convenient programming interface in these environments. require a fixed table structure. We implemented NoSQL query However, a relational database model that guarantees ACID properties is not a good match for a wireless sensor network processing system on Contiki operating system [7] and it was since consistent connectivity or the uninterrupted operation of built on the code base of the existing TikiriDB [3] query the sensor nodes cannot be expected. We noted that the NoSQL processing system. approach which does not rely on the ACID properties is a better The remainder of this paper is structured as follows. In match for a query processing systems for WASNs. We developed Section II we reviewed the related work in current database a NoSQL based query processing system on the Contiki abstractions and NoSQL. Section III presents the design of operating system that is popular among the WSN community. nosql query processing system and in Section IV we discuss Keywords- Wireless ad-hoc and sensor networks, RDBMS, the implementation of it. Our experiments and the results are SQL, NoSQL, Database abstractions, Mesh routing, ACID presented in Section V. Our conclusion in Section VI and finally we conclude the paper with future work in Section VII. I. INTRODUCTION Wireless sensor networks (WSN) are distributed systems II. RELATED WORK typically composed of embedded devices, each equipped with Existing WSN database abstractions use the SQL query a processing unit, a wireless communication interface, as well interface and relational database management system as sensors and/or actuators. Many applications have been techniques. Currently there are several database abstractions implemented on sensor networks that show the versatility of available for WSN. TinyDB [2], TikiriDB [3] and Cougar [4] this technology, and some are already finding their way into are some of those database abstractions. the mainstream. Often, in these scenarios tiny battery powered A. TinyDB devices are used for ease of deployment and increased TinyDB is the declarative database abstraction for TinyOS flexibility. This enables embedding, processing and [8] operating system. TinyDB provides a simple SQL query communication within the physical world, providing low-cost, interface. TinyDB architecture provides the sensor network fine-grained interaction with the environment. user with a database file called 'sensor' which stores the Two main abstractions are available for developing sensor data values collected from the sensor network. TinyDB applications for WSNs; message passing interfaces and SQL uses a resource aware algorithm to collect data [1]. query interfaces. First exposes the network to the TinyDB has a distributed query processor running on each programmers and the second hides the complexity of the and every node in the sensor network. Users can submit their network with a database abstraction. There are two popular queries from the base station. Then the queries are optimized query processing systems for wireless sensor network, namely in the base station, because TinyDB uses power aware routing. TinyDB (for TinyOS) [2] and TikiriDB (for Contiki) [3]. After that the optimized query sent through the network using These query processing systems represent the sensors on the the power aware routing tree. sensor network as a table. Users can insert queries at the base station, and it converts those queries into sensor node Acquisitional Query Processing (ACQP) is adopted for understandable format, and this query is sent to nodes to get TinyDB along with the traditional query features provided by the results. SQL [1]. It determines where and what order of data should be collected to minimize the power usage of the network. At the Database abstractions currently used in WSN are based on same time TinyDB also increases the data accuracy. Relational Database Management Systems (RDBMS). These relational models use ACID properties (atomicity, consistency, In TinyDB user can specify the sample period of a query as isolation, durability). TinyDB and TikiriDB use SQL queries. a query parameter. Many queries like event-based, grouped However ACID properties cannot be guaranteed in a sensor aggregation and actuation queries provide useful services to network. In a sensor network we cannot rely on consistent sensor network applications. TinyDB also supports data connectivity and sometimes sensor nodes may fail due to low logging and network health monitoring through spatial queries. energy or some environmental constrains. Because of that, Queries can be prioritized in TinyDB. data can get lost in the operational mode of the sensor network. Furthermore, some SQL operations such as join queries, aggregate queries are useless in this scenario. 978-1-4577-1114-51111$26.00 ©2011 IEEE
  • 2. NoSQL Query Processing System for Wireless Ad-hoc and Sensor Networks 79 Here we show the example of TinyDB query; Relational Database Management Systems (RDBMS). Considering on RDBMS, those databases are design for SELECT COUNT ( * ) FROM sensors AS s, recentLight AS guarantee ACID properties. But NoSQL databases did not rl WHERE rl.nodeid=s.nodeid AND s.light < rUight guarantee ACID properties. They basically design for the SAMPLE PERIOD lOs; [2] performances and scalability. Normally NoSQL databases are B. TikiriDB suitable for large set of data. TikiriDB [3] is another well known database abstraction for Working with large set of data using a table based database WASNs. TikiriDB is the database abstraction layer for Contiki systems, it needs lot of resources to store such massive data operating system. Comparing TikiriDB with TinyDB, and the operations are time consuming. With regards to TikiriDB support shared WASNs. NoSQL databases handle massive amount of data is much TikiriDB also provide a SQL query interface called easier, and the performances are very fast when comparing TikiriSQL to query the sensor network [3]. It is much more RDBMS. The only limitation of NoSQL is the memory and similar to conventional query language apart from additional the processing speed. NoSQL database systems uses key, syntax to comply with sensor network environment. SELECT value pair to store data so, if you want to keep your data in a temp, humid FROM sensors SAMPLE PERIOD 2 FOR 10; [3] persistent state and have access to them, then this would be an This query returns node id, humidity level, and temperature ideal database system. level in every 2 second intervals for duration of 10 seconds Currently there are several NoSQL database management from all the available sensors nodes in the sensor network. systems available. Facebook's Cassandra, LinkedIn's Project The results appended to the table as they are arriving to the Voldemort, Google's BigTable and Amazon's Dynamo are user. Thus the resulting table dynamically expands according some of them. Chordless, CouchDB, Db4o, GT.M, Hbase, to time. Hypertable, Memcachedb, Mnesia, MongoDB and Redis are some popular open source NoSQL projects as well. I) Client with TikiriSQL Library: The client side functionalities of the TikiriDB is included in the TikiriSQL III. DESIGN OF NoSQL DATABASE ABSTRACTION library and used by a user program. It provides functions to In this section we discuss the design of NoSQL database issue SQL queries by the user program, parses the queries and abstraction for WSN from a higher level architecture to sends them to the Serial Forwarder (SF). TikiriSQL library detailed design. returns data to the user program which is received from the SF. Its' main tasks are, 1) Accept queries from the user program, 2) A. Architecture of NoSQL Database Abstraction Parse the query and put it to a manageable format, 3) If there Figure 1 illustrates the overall design architecture of this are any syntactic and semantic errors, it returns warnings to research including all the main components, which discussed the user. in detail in the sub sections 1) to 5). The possible semantic errors are SELECT queries with As displayed in Figure 1, NoSQL database abstraction undefined field names, EVENT queries with undefined event consists of eight main components which are directly names. All the available field names and event names are kept contributing to the database abstraction. These eight main in an XML configuration file. 1) If no errors, send this new components are; front end NoSQL query, Lexical analyzer formatted query to the serial forwarder, 2) Returns the query and parser, Query processor, Data packet, Serial forwarder 10 returned from the SF to the user program, 3) This query ID plug-in, Mesh routing protocol, Executing query In sensor can be used to issue a STOP query to stop an executing query identified by the query ID 4) Put the data received from the SF to data structures and make it available to the user for manipulation. C. Cougar @ Cougar is another well known approach to in-network query processing in sensor networks. It supports a platform for testing query processing techniques over ad-hoc sensor networks. Cougar mainly has three-tier architecture. It consists .., of, • A query proxy • Front-end components • A graphical user interface Fig. I: Higher level design architecture Cougar is designed for in-network query processing. In­ network processing reduces energy consumption and increase motes and finally the Redis NoSQL database. lifetime of sensor network significantly compared to 1) NoSQL Query: NoSQL queries play a major role in traditional centralized data extraction and analysis. Thus one this database abstraction. This is a novel approach for sensor of the main roles of the query proxy when processing user network database abstractions, because existing database queries is to perform in-network processing [4]. abstractions consists of traditional SQL queries for querying sensor networks. We designed NoSQL query syntaxes for D. NoSQL querying sensor networks. Most of these queries are similar to NoSQL means Not Only SQL. The concept of NoSQL RedisDB NoSQL queries, because we adopt RedisDB starts from 1998. NoSQL databases are differing from architecture for our abstraction. Designed NoSQL queries are, 1sl & 2nd September 2011 The International Conference on Advances in rCT for Emerging Regions - ICTer2011
  • 3. 80 T.A.M.C. Thantriwatte, and c.1. Keppetiyagama • Select Query: Appropriate keyword followed by Redis key space is divided to 4096 hash slots. In order to relevant key achieve that, different nodes hold a subset of hash slots. All • Join Query: Appropriate keyword followed by relevant the nodes are connected to each other and the functionalities key followed by valid set condition for key of each and every node is equivalent. • Range Query: Appropriate keyword followed by IV. IMPLEMENTATION relevant key followed by valid range condition This section discusses the implementation of the NoSQL • Ranking Data: Appropriate keyword followed by key database abstraction for wireless ad-hoc and sensor networks and relevant member name in more detail. The focus is on how the NoSQL queries are • Get the key of members: Appropriate keyword followed executed in actual sensor motes and results are sent back to by relevant key the base station. Following sub sections A, B, C and 0 will NoSQL query interface is linked with a lexer. The lexer describe the implementation procedure of our NoSQL syntactically analyses the NoSQL query according to the rules database abstraction for Contiki operating system. defined. Following sub section 2) introduces the A. NoSQL Grammar Implementation functionalities of the NoSQL lexer and the parser. We have used ANTLR tool to define our NoSQL grammar 2) Lexical Analyser and Parser: Input NoSQL query definitions. Fist we defined the NoSQL grammars for our pass to lexical analyser, and it read the query characters from sensor network and then the ANTLR tool generates the the input stream which is tokenized. These token identified appropriate lexical analyser and parser for it. Using ANTLR using the predefined NoSQL lexer rules in the grammar file we can test and generate the parse tree of our NoSQL queries which are implemented using regular expressions. easily. Implemented NoSQL queries are; The main functionality of lexer is, generating a stream of • GET temp SET temp 2 FOR 100; tokens according to the NoSQL query and passing it to a • GET humid SET temp 2 FOR 100; parser for syntax analysis. It also ignores the whitespaces and • ZRANK temp 2.0; comments. • GET humid SET humid < 45; Parsing is the second stage of NoSQL grammar validation according to the predefined NoSQL grammar rules. Parser • ZRANK light 5.0; checks the syntax and semantics of the NoSQL query and 8. Data Packet Implementation generate the parse tree. If parser can find syntactic or semantic We had implemented the data packet according to the errors in the query it produces an error message. Finally the parsed NoSQL query from the lexical analyzer and parser. parser produces a C code file according to the NoSQL query The size of the data packet is 128 bits and it is divided into and which is passed to the query processor. following categories. 3) Query Processor: The query processor processes the C file generated by the parser and distinguishes the parts of the query such as query type, relevant keys and other query conditions. According to these query parts it generates query id, query message header and query pay load. After that the processed query is considered as a data packet, which is ready I , f -.L 1 -r ( 8 bits 8 bits 8 bits 8 bits 16 bits 32 bits to be routed and executed in sensor motes. Fig. 2: Structure of data packet 4) Mesh Routing: In wireless mesh network concept, communication is done by using the ad-hoc mode, also called as peer-to-peer. Nodes in a mesh network should be able to • No of fields: It mentions what are the fields we want to discover each and every node and broadcast messages to all its sense from the sensor mote. According to the query neighbors. relevant fields are set to the data packet. In mesh networks we used hybrid routing protocol to pass • No of expressions: This indicates the number of our queries from the base station to destinations. Hybrid expressions that are appeared in the SET clause. protocols consist of both proactive and reactive routing • For example GET temp SET temp> 10 2 FOR 10; In protocols. Initially routing starts in proactive mode and then this query "temp> 10" will goes to No of expression move to reactive flooding in the network. In this research we section of the data packet. used the inbuilt mesh routing protocol which is in Rime stack • Input buffer 10: This defines the data source for the in Contiki [7] operating system for our network routing query. If this is zero, direct data from sensors is used purpose. for the query. None zero positive integer represents the 5) Redis Architecture: RedisDB is an open source, input buffer identification number. Usually, input advanced key-value storage [5]. It is often referred to as a data buffer is storage medium such as SO card. structure server since keys can contain Strings, Hashes, List, • Output buffer 10: This defines the location where the Sets and Sorted-sets. Redis protocol consists of a network results of a query are stored. If this is zero, results are layer where clients connect to port 6379. In Redis server there sent to the node who issued the query. None zero are different kinds of replies according to client requests. They positive integer represents the out buffer identification are error reply, integer reply, bulk replies, multi-bulk replies number. Usually, output buffer is storage medium such and nil elements in multi-bulk replies. as SO card. The International Conference on Advances in ICT for Emerging Regions - ICTer20 l1 1sl & 2nd September 2011
  • 4. NoSQL Query Processing System for Wireless Ad-hoc and Sensor Networks 81 • Epoch duration: This is used to define the time duration • ZINTERSTORE destination numkeys key [key ...]: between two executions of the query. The value of Intersect multiple Sorted-sets and store the resulting this should be greater than zero. The duration is Sorted-set in a new key. specified in seconds. Epoch duration is set in the SET clause of the query. V. RESULTS • Number of epochs: This defines the number of query In this section, we evaluate the implementation of NoSQL executions. Zero causes to execute the query infinite query processing system for wireless ad-hoc networks on the number of times. top of Contiki operating system. • Fields: Field consists with 16 bits. It consists of a A. Evaluation platform unique id, result flag and operator. 3 bits are not used in We used two platforms to test and evaluate our system. One field section. is COOJA [9] simulation platform while other is a hardware • Expressions: Expression consists with 32 bits. Every platform. We often used COOJA simulation platform to field had relevant expression. It consists with data develop and test our system, because testing with real sensor which mapped to field id and operator. motes is little bit tricky part in sensor networks and most of the system are platform independent. After successful testing C. Implementation of Serial Forwarder with COOJA simulation platform, we test our system with real We did not implement the serial forwarder. Existing sensor motes as well. TikiriDB [3] 0.2 release there was a serial forwarder which we B. Performance Analysis can directly plug into our NoSQL database abstraction. So we used that serial forwarder plug-in to sent data packet to the In performance analysis we analyzed the query execution time of TikiriDB [3] database abstraction and our newly network. designed NoSQL database abstraction. We used following Once data packets arrive at the serial forwarder it assigns a queries to evaluate the execution time of both database unique query ID to each and every data packet. It also stores abstractions. For TikiriDB database abstraction, the query ID and the client ID mapping in a table which is located in its' memory. After that it sends the query to the • SELECT temp FROM sensors SAMPLE PERIOD 2 network with the query ID and ID for the serial forwarder. FOR 10; When data arrives from the sensor network, serial forwarder • SELECT humid FROM sensors SAMPLE PERIOD 2 searches the relevant client 10 from its' table and sends the FOR 10; relevant data to the base stations. All the implementations of serial forwarder are done by using C++ language and the For NoSQL database abstraction, serial forwarder COOJA [9] plug-in which was written by • GET temp SET temp 2 FOR 10; using Java language. • GET humid SET humid 2 FOR 10; Routing is another important part in sensor networks. Here we used inbuilt mesh routing protocol which is in Rime stack We get the execution time of queries by changing the in Contiki [7] operating system for routing. sample period of both SQL and NoSQL queries. Following figure shows the query execution time of TikiriDB database abstraction and NoSQL database abstraction with respect to D. Implementation of RedisDB Plug-in sample periods. The X and Y axis represent sample period We have done the implementation of Redis backend in variation in seconds and response time in milliseconds iterative manner. RedisDB supports different data structures respectively. such as Strings, Hashes, Lists, Sets and Sorted-sets. First we have implemented our backend data structure using Strings 350000 and evaluate the performances of our NoSQL database 300000 250000 abstractions. After that we done the implementation using 200000 other data structures as well and evaluates them. These 150000 • NoSQL evaluations are mentioned under section v-co According to 100000 .SQL those evaluations, finally we implemented with Sorted-sets. 50000 o Sorted-set implementation of our NoSQL database abstraction basically works with two values called key and 2FOR 2FOR 2FOR 2FOR 2FOR 10 100 1000 10000 100000 member. In this implementation we mapped sensing field of a query as key and sensing values as members. According to Fig. 3: NoSQL against SQL query execution time these key and member values we can use following NoSQL queries in our database abstraction. According to the Figure 3, it was observed that for a shorter time periods, both database abstractions show the same • ZADD key score member: Add a member to a Sorted­ performances, but when the time period increases, set, or update its score if it already exists. performances of NoSQL database abstraction get better. That • ZCARD key: Get the number of members in a Sorted­ means execution time of NoSQL query in sensor networks get set. lesser time than execution time of SQL query in sensor • ZCOUNT key min max: Count the members in a networks. Reason for that performance bottleneck in SQL Sorted-set with scores within the given values. database abstraction is, processing time of SQL query. • ZlNCRBY key increment member: Increment the score According to above results we can conclude processing of a member in a Sorted-set. NoSQL queries are much more efficient than processing SQL 1sl & 2nd September 20 I I The International Conference on Advances in ICT for Emerging Regions - ICTer20 11
  • 5. 82 TAM.C. Thantriwatte, and C.I. Keppetiyagama queries in sensor networks. This cause saves energy in sensor backend data structure is the suitable approach for NoSQL motes. database abstraction for wireless ad-hoc networks. C. Runtime Analysis VI. CONCLUSION In section IV-D mentioned that we used different data In this paper we have first reviewed the existing database structures as backend of our NoSQL database abstraction. We abstractions in WSN. Then we discussed about the issues tested the backend data structures against the time related to existing database abstractions in wireless ad-hoc complexities of NoSQL queries. We obtained following networks. Then we discussed the importance of using NoSQL results. as the underlying database abstraction for ad-hoc networks. • SET query analysis According to the experimental results we conclude that NoSQL queries perform better when using longer sample periods. This shows higher scalability for the networks. TABLE I Secondly we evaluated the query performance with regard to the time complexity of different data structures, and it showed that using Sorted-sets we can achieve best results. O(log(N» VII. FUTURE WORK • GET query analysis This research has evolved from relational database model to NoSQL database model. Therefore query optimization is not good as the relational model. Query optimization related to TABLE II this research is to be done in near future. In addition optimized routing protocols, security layers can also be incorporated to this model. O(log(N» ACKNOWLEDGMENTS From the above tables it can be observed that Sorted-sets The authors would like to express their sincere thanks to the show the best time complexity. After analysing Sorted-set people in SCORE lab of University of Colombo School of furthermore for different NoSQL query operations, we got the Computing. We would also like to thank the support given by following results. Primal Wijesekara from University of British Columbia, K.C Hewage from UCSC, Nayanagith M. Laxman from UCSC and A.P. Sayakkara from UCSC. TABLE III SORTED-- SET ANALYSIS [10] REFERENCES Query Time Complexity [1] C.Weyer, V.Turau, ALagemann, and J.Nolte, "Programming wireless sensor network s in a self-stabilizing style," Sensor technologies and ZADD o (log(N» Applications, International Coriference on, vol. 0, pp. 610-616, 2009. [2] S.R.Madden, M.J.Franklin, J.M.Helerstein, and W.Hong, "TinyDB: an ZCARD 0(1) acquisitional query processing system for sensor networks," ACM ZCOUNT o (log(N)+M) Transactions on Database Systems, vol. 30, no. 1, pp. 122-173, Mar.2005. [Online]. Available: ZlNCRBY o (log(N» http://portal.acm.orglcitation.cfm?doid=1061318.1061322 [3] N.M.Laxaman, M.D.J.S.GoonathiIIake, and K.D. Zoysa, "TikiriDB: ZlNTERSTORE o (N*K)+O (M*log(M» Shared Wireless Sensor Network Database for Multi-User Data ZRANGE o (log(N)+M) Access," CSSL 2010. [4] Y.Yao, "The cougar approach to in-network query processing in sensor ZRANGEBYSCORE o (log(N)+M) networks," ACM SIGMOD Record, vol. 31, no. 3, p.9, Sep. 2002. ZRANK o (log(N» [5] M.Seeger, "Key-Value stores: a practical overview," Media, pp. 1-21, 2009. ZREM o (log(N» [6] G. Decandia, D. Hastorun, M. Jampani,G. Kakulapati, A Lakshman, A ZREMRANGEBYRAK o (log(N)+M) Pilchin,S. Sivasubramanian, P. Vosshal, and W. Vogels, "Dynamo : Amazon Highly Available Key-value Store," October, pp. 205-220, ZREMRANGEBYSCORE o (log(N)+M) 2007. [7] A Dunkels, B. Gronval, and T. Voigt, "Contiki - a lightweight and ZREVRANGE o (log(N)+M) flexible operating system for tiny networked sensors," 29th Annual ZREVRANGEBYSCORE o (log(N)+M) IEEE International Conference on Local Computer Networks, pp 455- 462. [Online]. Available: ZREVRANK o (log(N» http://ieeexplore.ieee.orglxpllfreeabs all.jsp?amumber=1367266 _ [8] P. Levis, S. Madden, 1. Polastre, R. Szewczyk, K. Whitehouse, AWoo, ZSCORE 0(1) D. Gay, J. Hill, M.Welsh, E. Brewer et aI., "TinyOS: An operating ZUNIONSTORE O(N) + OeM log(N» system for wireless sensor networks," Ambient Intelligence, vol. 35, 2005. According to table III, we figure out time complexities of [9] F. Osterlind, A Dunkels, J. Eriksson, N. Finne, and T. Voigt, "Cross­ level sensor network simulation with COOJA," Proceedings. 200631st NoSQL queries under Sorted-sets backend data structure gives IEEE Conference on Local Computer Networks, pp. 641-648, Nov. better performances than Strings, Hashes, Lists and Sets. 2006. [Online]. Available: Also the problems came under Strings, Hashes, Lists and http://ieeexplore.ieee.orgllpdocs/epic03/wrapper.htm?amumber=41166 33 Sets can be solved using Sorted-sets. According to above [10] Command reference - Redis. http://redis.io/commands; 2011: [Online comparison results, we came up with a conclusion, Sorted-sets accessed: 10 Jun 2011]. The International Conference on Advances in ICT for Emerging Regions - ICTer2011 15t & 2nd September 2011