Showing posts with label features. Show all posts
Showing posts with label features. Show all posts

Friday, September 5, 2014

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.
   

Thursday, January 3, 2013

Baby named ANDROID of Mother LINUX...



We all know that 'mother' is very important in life of every person. In computer hardware theory also the term 'mother' is of great importance. As every one knows that the major hardware component of computer is 'mother-board'. We all might think why name is given as mother-board, why not father or daughter or son-board? The simple reason behind this is that mother is the person who looks after every chores being carried out. Mother is one who binds some rules for the family. Similarly in case of hardware theory also the name so given is because mother board carries out all the functions. Similarly, in software field also we get to see the 'mother'. In a precise manner we can say that Android is the child of mother Linux-kernel.


         Fig 1. Android with Linux kernel

In today's era, Android is the heartbeat of any handset or machine, but the base behind this huge spreading application is, mother Linux. Why is Linux given so much importance or why is Linux kernel called as the base for the development of android apps??Android is overwhelming. Android integrates Linux kernel at the bottom of its software stack. In fact Android was created on top of Linux Kernel 2.6.

Android is open source, therefore any manufacturer can access it, customize it and adapt it according to the requirements of their own gadget. This is the reason why Android is found on variety of gadgets. With camera, without, high-end and low-end, whether a full-fledged tablet or a low-end entertainment device, Android can run on any platform. This has not only given freedom to manufacturers to customize the operating system, add personalized skin, applications or strip-off default Google services, adapt the OS to run on high/low spec gadget but it has also given freedom to people-freedom of choice. A kernel is the first layer of software that interacts with the device hardware. The kernel is responsible for providing basic architectural model for process scheduling, resource handling, memory management, networking and isolation etc. It must be noted that while Android is built on Linux Kernel, Google has maintained its own forked version of Linux Kernel specifically for android since 2010.
 
                        Fig 2. Architecture of Linux kernel

There are number of reasons for selecting Linux kernel. Linux Kernel boasts some proven core features that are integrated in Android operating system.
Following are some features:

1.      Easily portable: Linux runs on devices of diverse architecture from numerous machines like supercomputers & smaller devices like motor bikes. This is due to the fact that Linux is an immensely portable platform. It is fairly easy to compile Linux on various hardware. What do you think is the major concern of Android? It's that it is picked by many manufacturers and is used on a variety of gadgets. Linux makes that possible. Linux brings Android a level of hardware abstraction. Most parts particularly the low-level ones are written in portable C code that can be accessed and modified by manufacturer easily. This means manufacturers can pick up Android and modify it to adapt it according to their hardware requirements rather that improving the hardware to fit the software.
2.      Essential property: Linux brings to Android some useful features. The Linux Kernel 2.6 includes these features:
Memory Management: While developing for mobile devices memory handling becomes a point of great concern. Thanks to Linux Kernel over which Android is built. You can free yourself from the worry. Linux will handle Linux kernel for-threading and low-level memory management for Android. Linux kernel is responsible to manage the core feature of any mobile device i.e. memory cache. Linux kernel manages memory by allocating and De-allocating memory for the file system, processes, applications etc.
       Fig 3. Baby Android with mother Linux (kernel)
     3.   Other properties:
Process Management: Linux Kernel is responsible to start, stop and execute the program. For a beginner a process can be thought of as an instance of computer program. i.e. whenever a program runs on computer, the OS creates its instance or process for it which is executed by the OS. In case of Android, Linux is responsible to allocate resources to various processes that need them.
Driver Model: As evident this is the layer where all the device specific drivers run. Here Linux ensures that your application is able to run on Android. Hardware vendors can develop their drivers into Linux in a familiar environment. That is giving plenty room for hardware vendors to optimizing OS.

    4.     File System Management:
Linux also manages the file system which in turn controls the data storage service for Android device.

    5.     Network Stack:
Linux Kernel is responsible to communicate with the network. It also controls networking stack, drivers, routing devices and network adapters.

    6.     User account (Security):
Linux kernel handles the security between application and the system. Linux takes control of authentication of users and is responsible for user management. Besides this Linux kernel is also responsible for power management and for undertaking various services like Internet search, voice communication, system logging etc.

    7.     Security:
Linux runs in scientific research labs, supercomputers and systems for mission critical tasks. Android completely relies on Linux for security. All Android applications run as distinct Linux processes under permissions set by Linux system.
Thus we can say that the kernel of the Linux is the back bone for Android technology.

Wednesday, December 19, 2012

BEFORE UPGRADING TO WINDOWS 8 TAKE A LOOK AT IT

Windows 8 is the current release of windows operating system, produced by Microsoft for use of personal computers including the desktops, laptops and tablets. The operating system was released to manufacturing on 1 August 2012 and was released for general availability on 26 October 2012. Windows 8 introduces significant changes to the operating system’s platform and improving and emerging new technologies in it, this being an advantage for the Windows users but there are disadvantages too. So before upgrading to Windows 8 just take a look on it.
                                                      Fig1: Windows 8 Start Screen
No Start button: 
 Let’s start with the start button. The Windows 8 has removed the start button. Normally, the Windows users are used with the start button at the left bottom and then by clicking it programs and control panel, search pops out there. But there is no such type of facility available here.
Start Screen:
The new user interface of Windows has replaced the Start menu entirely. Now you will experienced and enter into the world of the customizable arrays of tiles linking to various apps and desktop programs. This new interface is based on Microsoft’s Metro design language. Yes the appearance is good but not user-friendly.
It’s no fun to use with a Keyboard and Mouse:
Navigating around the Windows 8 with the mouse and some keyboard shortcuts are not at all suitable. The new interface of Windows 8 i.e. a full of live tiles on the Start screen needs more of scrolling than other versions of Window’s start button.
                                  Fig2: Easy to handle new Windows8 with fingers
 This operating system shines when you use it with touch. If you happen to purchase a new tablet or touch-enabled laptops with Windows 8, then it’s great. But if you are thinking about upgrading your Pc, I would say first try before you buy and make sure that you are comfortable handling the new user interface without touching the screen at all.
 Simple task are more difficult:
The common tasks are stored in new places, and you’ll have to figure out where they are and how to perform them. For example, shutting down the PC will take few more extra clicks and it is hidden away in settings instead of being displaying in the Start menu. And if you open an app in the non-Metro interface then you’ll find no “X” on the upper right corner to close the program. If you want to close the program you have to drag down from top of the screen all the way to the bottom of the screen either with a finger or with the help of mouse cursor, which will take the form of tiny hand when positioned properly. So it’s made the task little bit quirk then simply closing the program by hitting the “X” button.
It’s a schizophrenic operating system:
You have both the traditional desktop and the new modern experience. They are different, radically different and share the same operating system. Desktop apps don’t’ run in the modern experience and modern apps don’t run on the desktop. This is not pleasant at all. Swapping between these two depending on which app you are using will make you confused.
DVD playback removed:
With the release of Windows 8 and Windows Pro, Microsoft decided to remove the DVD playback, and also forego the inclusion of Blu-ray playback.
                                    
                                     Fig3: Windows 8 cannot play DVD, requires third party software
Whereas with Windows7 you could slot a DVD into your computer and open it in Windows media player, that is no longer the case with the Windows 8 and Windows Pro. This has been removed for the simple reason that is cost, which Microsoft has to pay for the codecs that are required to play the DVDs and Blu-rays. This can be done by installing the third party player.
So,these are some of the flaws with windows 8.Now you decide which one suites you better and decide whether to upgrade it or not.