Facebook is a popular free social networking website available in 37 different languages, includes public features like Marketplace which allows members to post, read and respond to classified ads. Also, Facebook allows members who have common interests to find each other and interact. Moreover, Facebook allows members to publicize an event, invite guests and track who plans to attend. Another feature of Facebook is that it allows members to create and promote a public page built around a specific topic. Finally, Facebook presence feature that allows members to see which contacts are online and chat. Facebook was built on open source software where the power of communities always drive innovation. It utilizes MySQL as a database technology. MySQL is an open-source alternative to Microsoft’s offering that uses structured query language, MySQL has gained traction as the go-to Database Management System (DBMS) for web-based business applications, especially those running e-commerce sites or leveraging dynamic content. It is a relational database management system based on SQL – Structured Query Language. The application is used for a wide range of purposes, including data warehousing, e-commerce, and logging applications. The most common use for MySQL is for web database (Baltar & Brunet, 2012).
There are many advantages of Using MySQL. One is the data security where it is globally renowned for being the most secure and reliable database management system. Also, the data security and support for transactional processing that accompany the recent version of MySQL can greatly benefit any business, especially if it is an eCommerce business that involves frequent money transfers. The second advantage is the on-demand scalability, where offering unmatched scalability to facilitate the management of deeply embedded apps using a smaller footprint, even in massive warehouses that stack terabytes of data. On-demand flexibility is the star feature of MySQL where it allows complete customization to eCommerce businesses with unique database server requirements. Also, the high performance of MySQL that is a distinct storage-engine framework that facilitates system administrators to configure the MySQL database server for a flawless performance. Whether it is an eCommerce website that receives a million queries every single day or a high-speed transactional processing system, MySQL is designed to meet even the most demanding applications while ensuring optimum speed, full-text indexes and unique memory caches for enhanced performance. Moreover, the round-the-clock uptime feature in which MySQL comes with the assurance of 24×7 uptime and offers a wide range of high-availability solutions, including specialized cluster servers and master/slave replication configurations. Another feature is the comprehensive transactional support in which MySQL tops the list of robust transactional database engines available on the market. With features such as complete atomic, consistent, isolated, durable transaction support; multi-version transaction support; and unrestricted row-level locking, it is the go-to solution for full data integrity. It guarantees instant deadlock identification through server-enforced referential integrity. Also, the complete workflow control in that is with an average download and installation time of less than 30 minutes. Another advantage is the reduced total cost of ownership, whereby migrating current database apps to MySQL, enterprises enjoy significant cost savings on new projects. The dependability and ease of management can save troubleshooting time that is otherwise wasted in fixing downtime issues and performance problems. Finally, the flexibility of open Source feature, that is all the fears and worries that arise in an open-source solution can be brought to an end with MySQL’s round-the-clock support and enterprise indemnification. The secure processing and trusted software of MySQL combine to provide effective transactions for large-volume projects. It makes maintenance, debugging and upgrades fast and easy while enhancing the end-user experience (Wei-Ping, Ming-Xin, & Huan, 2011).
One of the disadvantages of MySQL is the few stability issues. MySQL tends to be somewhat less reliable than its peers. These stability issues are related to the manner in which it handles certain functions (such as references, transactions, and auditing). While the database is certainly still usable in light of these problems, they do tend to make MySQL a poor choice for certain use cases. Also, it suffers from relatively poor performance scaling. Although MySQL is equipped to handle a virtually limitless volume of data, it has a troubling tendency to come grinding to a halt if it’s forced to deal with too many operations at a given time. This relatively poor performance scaling means that anyone with high concurrency levels should probably look into an alternative. Another issue is that development is not community driven. Since Oracle has taken the helm of MySQL’s development, progress appears to have ground to a halt, with only one major release in the past several years. The company does not accept community-developed patches, nor has it bothered to offer users any sort of roadmap for MySQL development. There’s really no way for developers to discuss the database management system with Oracle. Moreover, its functionality tends to be heavily dependent on add-ons. Although MySQL is relatively easy to set up, it tends to have less out-of-the-box functionality than many other database systems on the market. Certain features – such as text search and ACID compliance – are dependent not on the core engine but on applications and add-ons. While it’s true that there exists a plethora of well-made applications for MySQL, tracking them down can sometimes be a pain, and might cause some developers to simply choose an alternative which – while not as easily installed – offers more immediate functionality. Finally, developers may find some of its limitations to be frustrating. Not surprisingly, MySQL is not designed to do everything and nor should it be. The database isn’t fully SQL-compliant, and tends to be limited in areas including data warehousing, fault tolerance, and performance diagnostics among others. Developers may find this relative dearth of functionality frustrating, particularly if they’re used to a more full-featured alternative (Denton & Peace, 2003).
Replacement with Apollo
Apollo is Facebook’s own version of the Paxos like NoSQL database. This new NoSQL database model is a hierarchical storage system. The stored data in the advanced database is available in fragments, just like in region servers in HBase. However, the unique feature of the new NoSQL model is its online low latency storage system. It is not a document-oriented data system. Apollo is more about data structure modification that will allow the users to modify data structures without much prologue. The individual shards of data are small – between a byte and 1MB. But the total size of the data can reach up to 10+ Petabyte. It can support almost a thousand servers starting from a meager three (Open Source For U, 2018).
What to Do as a Manager
To use a database effectively, it is necessary to, first, talk to staff about which features they believe would help them to better perform their roles. Also, meet them to emphasize the importance of the database to the company’s overall operation and explain how it will help them to perform their jobs, earn more money and grow the company. Also, looking for affordable database solutions that can be created for only a few thousand dollars. Meanwhile, explore for databases offering with optional add-ons that will expand the database’s capabilities to meet your needs. Start with what you need and add modules as the company grows or can afford the extras. The database should maintain the existing data to be easily transferred to the new database from whatever program you are currently using. Also, mangers should provide training for all staff plus multiple copies of a well-documented user guide. It is important to make sure the availability of the hardware necessary to run the database application. Purchase the hardware and software (Goleman, 2000).
In conclusion, when everything is reassured, input information completely and accurately. Also, document any changes to procedures or additions to the database to ensure that both new and old staff are trained with the most current information. Another thing to be aware of is to be sure the database manager continues to get feedback from staff. Staff are using the database daily and will have suggestions for making it more effective. Stay current with new software releases, and keep informed of any known bugs. Have a staff person check the manufacturer’s Web site regularly, and sign up for the manufacturer’s e-newsletter for updates and other information. Also, conduct regular maintenance on the server on which the database is stored. Finally, perform regular back-ups of the data.
Baltar, F., & Brunet, I. (2012). Social research 2.0: virtual snowball sampling method using Facebook. Internet research. 22(1), 57-74.
Denton, J. W., & Peace, A. G. (2003). Selection and use of MySQL in a database management course. Journal of Information Systems Education. 14(4), 401.
Goleman, D. (2000). Leadership that gets results. Harvard business review. 78(2), 4-17.
Open Source For U. (2018). Retrieved from https://opensourceforu.com/2017/10/facebook-replacing-mysql-database-something-dynamic/
Wei-Ping, Z., Ming-Xin, L. I., & Huan, C. (2011). Using MongoDB to implement textbook management system instead of MySQL. In Communication Software and Networks (ICCSN). IEEE.