You are on page 1of 2

Name: Khuram Yasin Class: BS_IT 7A Evening

Submitted To: Subject: DDMS


--------------------------------------------------------------------------------------------
Organization: Facebook.
Facebook:
Facebook is an online social media and social networking service enterprise located in
Menlo Park, California, the USA. The founder and CEO Mark Zuckerberg was a Harvard
College student. At the beginning Facebook website was only limited to Harvard students,
then for the following years, it became a worldwide social-networking website. The name of
Facebook comes from the Facebook directories [1].

Organizational Structure:
The pattern of the Facebook organizational structure is vertical-based as shown
below. The key departments including the Information Security; Business Development;
Marketing Center; Finance Center and Engineering. All of these main divisions have a number
of sub-groups. For example, for the Marketing department roles cover the advertising team,
the global marketing group, marketing communications team, consumer analysis team and
public relations. For the engineering part of the Facebook organizational structure, you can
find software development, research and analysis and so on [1].

Figure 1: Organization Structure [1]


Architecture:

TAO essentially converted FB’s existing 1000s of manually-sharded MySQL master-


slave pairs to a highly-scalable, auto-sharded, geo-distributed database cluster. All objects
and associations in the same shard are stored persistently in the same MySQL instance, and
are cached on the same set of servers in each caching cluster. Placement of individual objects
and associations can be directed to specific shards at creation time when needed. Controlling
the degree of data collocation proved to be an important optimization technique for
providing low latency data access.
SQL-based access patterns such as cross-shard ACID transactions and JOINs were disallowed
in TAO as a means to preserve such low latency guarantees. However, it supported non-
atomic two-shard writes in the context of an association update (whose two objects may be
in two different shards). In case of failures after one shard update but before the second shard
update, an asynchronous repair job would clean up the “hanging” association at a later time.
Shards can be migrated or cloned to different server in the same cluster to balance the load
and to smooth out load spikes. Load spikes were common and happen when a handful of
objects or associations become extremely popular as they appear in the News Feeds of tens
of millions of users at the same time [2].

Component Model:
Facebook has all kinds of React apps. Some are single-page apps built completely
with React; others are small components embedded inside larger server-rendered apps.
Some are built for the web, and others are built with React Native. Some are pretty simple,
and others include complex navigation, data tables, and highly interactive forms. This gives
us a first-hand experience of how different apps live together on one page and work together
[3].

Reference:
1. https://www.orgcharting.com/facebook-organizational-structure/
2. https://www.facebook.com/notes/facebook-engineering/tao-the-power-of-the-
graph/10151525983993920/
3. https://thedevcouple.com/interview-react-team-facebook-wordpress-gutenberg/

You might also like