Official blog by Students of Sandip Foundation's Engineering Students, Nashik (INDIA)
Showing posts with label opensource. Show all posts
Showing posts with label opensource. Show all posts
Sunday, September 21, 2014
Friday, September 5, 2014
Downloading and installing MongoDB on windows
Downloading and installing MongoDB is very
simple and easy. Before you download MongoDB for your Windows you should know
which version of Windows you’re using and to run MongoDB on your system also
make sure that you’re using windows newer version than Windows XP.
To check which version of Windows your using
enter following command in terminal:-
wmic os get osarchitecture
It will show your windows architecture as
shown in below image:-
Downloading and installing MongoDB involves following three steps:-
2. Extract the file
3. Setup the environment
Labels:
Database,
document oriented,
Document store,
downloading,
downloading in windows,
in windows 7,
installation,
mkdir,
mongo,
mongo shell,
mongod,
mongodb,
NoSQL,
opensource
Introduction to MongoDB
MongoDB is
new generation document oriented NoSQL database. It is open source product and
developed and supported by company 10gen (Now Mongo Inc.). MongoDB is available
under GNU Affero General Public License and Apache License. 10gen created
MongoDB in 2007 and its first product release was MongoDB 1.4 in 2009.
Its
definition given by 10gen:- “MongoDB is a scalable, open source, high
performance, document oriented database.”
MongoDB
is most popular document oriented NoSQL databases now days. To know
more about NoSQL database and its categories read my previous blogs.
MongoDB
is adopted by many mejor companies including eBay, The New York Times, CERN,
SAP, MetLife, MTV, Forbes, Sourceforge, Codecademy, Shutterfly, Foursquare
and more.
MongoDB provides following features:-
- Ad hoc queries:- It supports search by field and regular expression search.
- Indexing:- Any field in mongodb can be indexed.
- Replication:- Supports master-slave replication. A master can perform read-write and a slave copies data from the master and can only be used for read or backup.
- Duplication of data:-Data duplication to keep the system up and running in case of hardware failure.
- Scalability:- New machines can be added to run a database.
- Automatic Load Balancing:- Data is split into range and shared across multiple nodes.
- File storage:- Could be used as a file system taking advantage of load balancing and data replication.
- Aggregation:-MapReduce is available. Offers similar functionality as SQL GROUP by clause.
- JavaScript execution:-Can use JavaScript functions.
- Special support for location:- Understands longitude and latitude.
Tuesday, August 19, 2014
NoSQL Databases
NoSQL is next generation
DBMS which is used to store and retrieve the data which does not have specific
format or table like structure. NoSQL database is also called as “Not only SQL”
to emphasize that it does not use SQL language but It uses SQL-like language. The
original intension has been modern web scale databases. The movement began in
early 2009 and growing rapidly. NoSQL databases are mostly addressing some of
the points:-
·
Non-relational
·
Distributed
·
Open source
·
Horizontally scale
As we Know
there are different types of Database Management System and RDBMS is most
commonly used database management system. If we go back in history, first flat
file systems were created then in 1970's Codd came up with Relational theory
and based on that relational databases were developed. The problem was that in
flat file system there was no standard way of storing data and no standard way
of communicating with data. Everybody has implementing their own protocol and
that was creating lots of inefficiency. So relational database standardized the
way we communicate with database. Then life moved on and everything was going
well and suddenly, we entered into Big data scenario. Relational databases are
unable to handle huge amount of data so the answer was “NoSQL”. So NoSQL was
created because of limitations of relational databases.
The
data is structured in relational databases. We have to define table structure
in advance, we have to tell the system in advance like table will have 10 rows
and 10 columns and each column will take particular data type and this would be
the maximum value one can enter and so on. This way we can't handle
unstructured data where there is no fixed format or format is always changing.
So NoSQL handles both structured and unstructured data.
-NoSQL focused to
provide:
·
Scalability
·
Performance
·
High Availability
·
Simple API
·
Schema free
·
Easy replication support
·
Eventually consistent(not ACID)
NoSQL
can handle large amount of data. As data
is keep on growing it provides scalability and high availability in terms of
hardware failure. Ability of NoSQL is to handle large amount of data with
amazing performance with comparison they offers less functionality than RDBMS.
NoSQL is category
which can be commonly further divided into three categories given below with
example:
·
Key Value
Store : Memcached,Coherence, Redis
·
Tabular :
BigTable,Hbase,Accumulo
·
Document oriented
: Mango,CouchDB,Cloudant
If you search you will find more categories. Here is the list
of some:
·
Column store/Column family
·
Document store
·
Key value store/Tuple sore
·
Graph database
·
Multimodel database
·
Object database
·
Grid and Cloud solution
·
XML database
·
Multidimensional database
·
Event sourcing
·
Network model
·
Other NoSQL related databases
·
Unsolved and uncategorized
So what is missing from NoSQL databases if
you compare them with relational databases? Well Joins are not there because of
this joins relational databases are not so scalable. So in NoSQL databases this
functionality is not implemented hence scalability and performance comes in.
The support for complex transaction is not there for example you can’t not do
insert three records then update two records and check something if it’s not
then rollback everything. Again constraint support is not there. Transaction
support and constraint support is not there on database level but transaction
support and constraint support can be applied on application level.
What are the situations or scenarios where one
can use NoSQL database?
·
The ability to store and retrieve great quantity
of data is important.
·
Storing relationship between elements is not
important.
·
Dealing with growing list of elements, example:
Twitter post, Internet server logs, Blogs.
·
The data is not structured or the structure is
changing with the time.
·
Prototype
or fast application need to be developed
·
Constraints and validation logic is not required
to be implemented in database.
What are the
situations or scenarios where not to use NoSQL database?
·
Complex transactions need to be handled
·
Joins must be handled by databases
·
Validations must be handled by databases
Labels:
big data,
BigTable,
Database,
distributed systems,
Hbase,
join,
non-relational,
NoSQL,
not ACID,
not only sql,
opensource,
RDBMS,
relational database,
scalable,
SQL vs NoSQL
Tuesday, July 22, 2014
Introduction to Hadoop
Hadoop is framework of Linux based set of tools. It is not any software that you can download on your computer and say "Hey, I have downloaded Hadoop". It is an open source tool and it is freely distributed under Apache license. It means no company is controlling Hadoop, It is maintain by Apache. The concept behind the Hadoop is big data.
![]() |
Wednesday, August 14, 2013
Women in Linux
Hello readers, today I am
not going to tell you about some tricks and tweaks in Linux, instead I want to
come forward with the issue of Women in
Linux. As you all might know that Linux has been developing and growing so
fast. People also has great influence about Linux and are pretty much
interested in Linux, but among them many would be men, why women are not
included in this very much ?
The basic reason might be
like women are not so much interested in technologies; they are just using it
not knowing much about it. Some women might think that it is good to stay away
from Linux. Some might feel that other FOSS contributors will not treat them
respectfully or they don’t want to be the only woman in the group. There are also
many women who are interested in Linux and other technologies, but are always
demoralized because they are women.
But these reasons make no sense. We, women can do lot of stuffs but just have to be more confident. Why
to feel that we are less capable then men and why to raise the gender issues.
Why to still have that kind of mentality which will pull us down. Instead we women
should also encourage other women to join with Linux. There are many Open
Source Foundations that have started programs for women so that women can join
the community and can feel the friendly environment, like GNOME Foundation’s Outreach Program for Women, which
offers internship program where women can learn and can explore themselves
about Linux. Then there is a program that supports women in Open Source through
GitHub and Ada initiative partnership to give away free private source code
repositories to women learning open source software. The main goal of this
program was to increase diversity in open source software and to give women a
chance to grow their programming skills in private before participating in
mainstream open source community. So there are many such programs that Open Source
has dedicated to women so that they take more interest in Linux and the
percentage of women working in Linux increases.
So I would say if Linux is taking so many
efforts to include the women in their community, why we should not take a step
ahead and start learning and practicing it. It’s not so difficult, that women
can’t learn about Linux and Open Source. There are many women who are doing a
great job in Open Source like Mitchell
Baker – Chairperson of the Mozilla Foundation and Chairperson and former Chief
Executive Officer of Mozilla Corporation, Kristen
Carlson Accardi – Linux kernel hacker, Linux kernel subsystem maintainer
and there are many more.
So we should encourage
more and more women to include in open source community by giving directions
and explain them clearly, encouraging them in computing, not criticizing women,
acting friendly, and discussing topics about Linux and there are many more ways
also.
I hope by reading this, at
least few women should get involved with Linux and start learning and
developing their skills in Linux.
Subscribe to:
Posts (Atom)







