Friday, February 5, 2016

Differences between B*Tree and Bitmapped Indexes.


B*Tree indexes:

  • Where we need to maintain the sort order of the data, making it easy to look up range data.
  • Required to use multicolumn indexes, we can use the leading edge columns to resolve a query, even if that query doesn't reference all columns of the index.
  • As per its behavior, its automatically stay balanced.
  • Relatively constant performance of any query.
  • Can also specify reverse and unique
  • Recommended for OLTP databases.

Bitmapped indexes:

  • Use them to index columns with that contain a relatively small number of distinct values.
  • Very compact and using lesser space.
  • Designed for query intensive databases.
  • Not good for range scans.
  • Are available only in Enterprise Edition, in relational databases only.

What are NoSQL Databases? Why we use NoSQL Databases?

The Not Only SQL or NoSQL database is a way on which it works towards managing data as well as database design, largely suitable for huge sets of distributed data.

Since newly introduced concept of Big Data and Cloud, It consists of a number of technologies and architectures that deliver lesser data performance issues and scalability that is not performed by using traditional relational databases. Mainly used when companies and enterprises need to access and analyze large amounts of unstructured data or the data stored in multiple virtual servers in the cloud.

There is no specific definition of what NoSQL is, but we can describe it as:
  •          Not using the relational model
  •          Running well on clusters
  •          Mostly open-source
  •          Built for the 21st century web estates
  •          Schema-less database

There are mainly four types of NoSQL databases – data stores in the market:

Key Value Databases:

Key value databases are the uncomplicated data stores. In a data store, we can either put in a value for a specific key, or get a value from a specific key, or delete a specific key. The key values are the primary access which gives ease of  scalability and great performance.

Document Databases:

According to its name – Documents are focused in such database. The documents that are stored and received from the data stores can be in BSON, XML, JSON, etc. the documents are usually similar to each other and are in a hierarchical tree kind of data structure that are self-describing and consists of scalar values, maps, and collections.

Column family data stores:

Column family data store having rows and a number of columns that are associated with a row key. This is a bunch of data that is related and can be accessed together.

Graph databases:

Graph database comes the storage of nodes or entities and the relationship between these nodes.


Why we Choose NoSQL Databases?

  •          Distributed Computing
  •          Lower cost because its open source
  •          High scalability
  •          Schema flexibility
  •          Un structured data or semi-structured data
  •          No much complex relationships.