CONTROLLING SERVICING OF REQUESTS IN A DATA MIGRATION SYSTEM
A machine may be configured to control servicing of data requests in a data migration system. For example, the machine receives a request to access data pertaining to a member of a Social Networking Service (SNS) from a client device. The request references a member identifier of the member. The machine identifies, based on the member identifier, a control signal value that indicates a migration state of a migration of member profile data associated with the member identifier from one or more legacy databases to a consolidated database. The control signal value is associated with member identifiers of one or more members of the SNS including the member of the SNS. The machine causes a servicing of the request to access the member profile data pertaining to the member of the SNS from the consolidated database or the one or more legacy databases based on the control signal value.
1 . A method comprising:
receiving a request to access data pertaining to a member of a Social Networking Service (SNS) from a client device, the request referencing a member identifier of the member;
identifying, based on the member identifier, a control signal value that indicates a migration state of a migration of member profile data associated with the member identifier from one or more legacy databases to a consolidated database, the control signal value being associated with member identifiers of one or more members of the SNS including the member of the SNS, the identifying being performed by one or more hardware processors; and
causing a servicing of the request to access the member profile data pertaining to the member of the SNS from the consolidated database or the one or more legacy databases based on the control signal value.
2 . The method of claim 1 , wherein the identifying of the control signal value includes:
determining, based on the control signal value, that the one or more legacy databases are designated as a Source of Truth (SOT) for the member profile data associated with the member, and
wherein the causing of the servicing of the request includes:
transmitting the request to the one or more legacy databases based on the determining that the one or more legacy databases are designated as the SOT;
receiving a response to the request from the one or more legacy databases; and
causing, based on the response, a display of the member profile data from the one or more legacy databases in a user interface of the client device.
3 . The method of claim 1 , wherein the client device is associated with a first member, the member identifier referenced in the request is a member identifier of a second member of the SNS, and the control signal value indicates the migration state of the migration of the member profile data associated with the second member,
the method further comprising:
determining that the request is a read request for reading member profile data associated with the second member; and
determining that the request is received from the client device associated with the first member,
wherein the identifying of the control signal value includes determining that the consolidated database is designated as a verified replica of the one or more legacy databases for the member profile data associated with the second member, and
wherein the causing of the servicing of the request includes:
transmitting the request to the consolidated database based on the determining that the request is the read request for reading the member profile data associated with the second member, based on the determining that the request is received from the client device associated with the first member, and based on the control signal value;
receiving a response to the request from the consolidated database; and
causing, based on the response, a display of the member profile data associated with the second member from the consolidated database in a user interface of the client device.
4 . The method of claim 1 , further comprising:
determining that the request is a read request for reading member profile data associated with the member; and
determining that the request is received from the client device associated with the member,
wherein the identifying of the control signal value includes determining that the consolidated database is designated as a verified replica of the one or more legacy databases for the member profile data associated with the member, and
wherein the causing of the servicing of the request includes:
transmitting the request to the one or more legacy databases based on the determining that the request is the read request for reading the member profile data associated with the member, based on the determining that the request is received from the client device associated with the member, and based on the control signal value;
receiving a response to the request from the one or more legacy databases; and
causing, based on the response, a display of the member profile data associated with the member from the one or more legacy databases in a user interface of the client device.
5 . The method of claim 1 , further comprising:
determining that the request is a write request for writing member profile data associated with the member; and
determining that the request is received from the client device associated with the member,
wherein the identifying of the control signal value includes determining that the one or more legacy databases are designated as the SOT for the member profile data associated with the member, and
wherein the causing of the servicing of the request includes:
receiving an input pertaining to the member profile data from the client device;
transmitting the request to the one or more legacy databases based on the determining that the request is the write request for writing member profile data associated with the member, based on the determining that the request is received from the client device associated with the first member, and based on the control signal value;
updating, based on the input, the member profile data at the one or more legacy databases;
receiving a response to the request from the one or more legacy databases; and
causing, based on the response, a display of the member profile data associated with the member from the one or more legacy databases in a user interface of the client device.
6 . The method of claim 1 , wherein the identifying of the control signal value includes determining, based on the control signal value, that the consolidated database is in a conditional SOT state,
the method further comprising:
determining that the request is a write request for writing member profile data associated with the member, and
performing a version verification of the member profile data based on comparing a first version of the member profile data associated with the member at the consolidated database and a second version of the member profile data associated with the member at the one or more legacy databases, a result of the performing of the version verification including a determination that the first version and the second version are the same,
wherein the causing of the servicing of the request includes:
receiving an input pertaining to the member profile data from the client device;
transmitting the request to the consolidated database based on the determining that the consolidated database is in the conditional SOT state, and based on the result of the performing of the version verification;
updating, based on the input, the member profile data at the consolidated database;
receiving a response to the request from the consolidated database; and
causing, based on the response, a display of the member profile data associated with the member from the consolidated database in a user interface of the client device.
7 . The method of claim 1 , wherein the identifying of the control signal value includes determining, based on the control signal value, that the consolidated database is designated as the SOT, and
wherein the causing of the servicing of the request includes:
transmitting the request to the consolidated database based on the determining that the consolidated database is designated as the SOT;
receiving a response to the request from the consolidated database; and
causing, based on the response, a display of the member profile data from the consolidated database in a user interface of the client device.
8 . A system comprising:
one or more hardware processors; and
a machine-readable medium for storing instructions that, when executed by the one or more hardware processors, cause the one or more hardware processors to perform operations comprising:
receiving a request to access data pertaining to a member of a Social Networking Service (SNS) from a client device, the request referencing a member identifier of the member;
identifying, based on the member identifier, a control signal value that indicates a migration state of a migration of member profile data associated with the member identifier from one or more legacy databases to a consolidated database, the control signal value being associated with member identifiers of one or more members of the SNS including the member of the SNS; and
causing a servicing of the request to access the member profile data pertaining to the member of the SNS from the consolidated database or the one or more legacy databases based on the control signal value.
9 . The system of claim 8 , wherein the identifying of the control signal value includes:
determining, based on the control signal value, that the one or more legacy databases are designated as a Source of Truth (SOT) for the member profile data associated with the member, and
wherein the causing of the servicing of the request includes:
transmitting the request to the one or more legacy databases based on the determining that the one or more legacy databases are designated as the SOT;
receiving a response to the request from the one or more legacy databases; and
causing, based on the response, a display of the member profile data from the one or more legacy databases in a user interface of the client device.
10 . The system of claim 8 , wherein the client device is associated with a first member, the member identifier referenced in the request is a member identifier of a second member of the SNS, and the control signal value indicates the migration state of the migration of the member profile data associated with the second member,
wherein the operations further comprise:
determining that the request is a read request for reading member profile data associated with the second member; and
determining that the request is received from the client device associated with the first member,
wherein the identifying of the control signal value includes determining that the consolidated database is designated as a verified replica of the one or more legacy databases for the member profile data associated with the second member, and
wherein the causing of the servicing of the request includes:
transmitting the request to the consolidated database based on the determining that the request is the read request for reading the member profile data associated with the second member, based on the determining that the request is received from the client device associated with the first member, and based on the control signal value;
receiving a response to the request from the consolidated database; and
causing, based on the response, a display of the member profile data associated with the second member from the consolidated database in a user interface of the client device.
11 . The system of claim 8 , wherein the operations further comprise:
determining that the request is a read request for reading member profile data associated with the member; and
determining that the request is received from the client device associated with the member,
wherein the identifying of the control signal value includes determining that the consolidated database is designated as a verified replica of the one or more legacy databases for the member profile data associated with the member, and
wherein the causing of the servicing of the request includes:
transmitting the request to the one or more legacy databases based on the determining that the request is the read request for reading the member profile data associated with the member, based on the determining that the request is received from the client device associated with the member, and based on the control signal value;
receiving a response to the request from the one or more legacy databases; and
causing, based on the response, a display of the member profile data associated with the member from the one or more legacy databases in a user interface of the client device.
12 . The system of claim 8 , wherein the operations further comprise:
determining that the request is a write request for writing member profile data associated with the member; and
determining that the request is received from the client device associated with the member,
wherein the identifying of the control signal value includes determining that the one or more legacy databases are designated as the SOT for the member profile data associated with the member, and
wherein the causing of the servicing of the request includes:
receiving an input pertaining to the member profile data from the client device;
transmitting the request to the one or more legacy databases based on the determining that the request is the write request for writing member profile data associated with the member, based on the determining that the request is received from the client device associated with the first member, and based on the control signal value;
updating, based on the input, the member profile data at the one or more legacy databases;
receiving a response to the request from the one or more legacy databases; and
causing, based on the response, a display of the member profile data associated with the member from the one or more legacy databases in a user interface of the client device.
13 . The system of claim 8 , wherein the identifying of the control signal value includes determining, based on the control signal value, that the consolidated database is in a conditional SOT state,
wherein the operations further comprise:
determining that the request is a write request for writing member profile data associated with the member; and
performing a version verification of the member profile data based on comparing a first version of the member profile data associated with the member at the consolidated database and a second version of the member profile data associated with the member at the one or more legacy databases, a result of the performing of the version verification including a determination that the first version and the second version are the same,
wherein the causing of the servicing of the request includes:
receiving an input pertaining to the member profile data from the client device;
transmitting the request to the consolidated database based on the determining that the consolidated database is in the conditional SOT state, and based on the result of the performing of the version verification;
updating, based on the input, the member profile data at the consolidated database;
receiving a response to the request from the consolidated database; and
causing, based on the response, a display of the member profile data associated with the member from the consolidated database in a user interface of the client device.
14 . The system of claim 8 , wherein the identifying of the control signal value includes determining, based on the control signal value, that the consolidated database is designated as the SOT, and
wherein the causing of the servicing of the request includes:
transmitting the request to the consolidated database based on the determining that the consolidated database is designated as the SOT;
receiving a response to the request from the consolidated database; and
causing, based on the response, a display of the member profile data from the consolidated database in a user interface of the client device.
15 . A non-transitory machine-readable storage medium comprising instructions that, when executed by one or more hardware processors of a machine, cause the one or more hardware processors to perform operations comprising:
receiving a request to access data pertaining to a member of a Social Networking Service (SNS) from a client device, the request referencing a member identifier of the member;
identifying, based on the member identifier, a control signal value that indicates a migration state of a migration of member profile data associated with the member identifier from one or more legacy databases to a consolidated database, the control signal value being associated with member identifiers of one or more members of the SNS including the member of the SNS; and
causing a servicing of the request to access the member profile data pertaining to the member of the SNS from the consolidated database or the one or more legacy databases based on the control signal value.
16 . The non-transitory machine-readable storage medium of claim 15 , wherein the identifying of the control signal value includes:
determining, based on the control signal value, that the one or more legacy databases are designated as a Source of Truth (SOT) for the member profile data associated with the member, and
wherein the causing of the servicing of the request includes:
transmitting the request to the one or more legacy databases based on the determining that the one or more legacy databases are designated as the SOT;
receiving a response to the request from the one or more legacy databases; and
causing, based on the response, a display of the member profile data from the one or more legacy databases in a user interface of the client device.
17 . The non-transitory machine-readable storage medium of claim 15 , wherein the client device is associated with a first member, the member identifier referenced in the request is a member identifier of a second member of the SNS, and the control signal value indicates the migration state of the migration of the member profile data associated with the second member,
wherein the operations further comprise:
determining that the request is a read request for reading member profile data associated with the second member; and
determining that the request is received from the client device associated with the first member,
wherein the identifying of the control signal value includes determining that the consolidated database is designated as a verified replica of the one or more legacy databases for the member profile data associated with the second member, and
wherein the causing of the servicing of the request includes:
transmitting the request to the consolidated database based on the determining that the request is the read request for reading the member profile data associated with the second member, based on the determining that the request is received from the client device associated with the first member, and based on the control signal value;
receiving a response to the request from the consolidated database; and
causing, based on the response, a display of the member profile data associated with the second member from the consolidated database in a user interface of the client device.
18 . The non-transitory machine-readable storage medium of claim 15 , wherein the operations further comprise:
determining that the request is a read request for reading member profile data associated with the member; and
determining that the request is received from the client device associated with the member,
wherein the identifying of the control signal value includes determining that the consolidated database is designated as a verified replica of the one or more legacy databases for the member profile data associated with the member, and
wherein the causing of the servicing of the request includes:
transmitting the request to the one or more legacy databases based on the determining that the request is the read request for reading the member profile data associated with the member, based on the determining that the request is received from the client device associated with the member, and based on the control signal value;
receiving a response to the request from the one or more legacy databases; and
causing, based on the response, a display of the member profile data associated with the member from the one or more legacy databases in a user interface of the client device.
19 . The non-transitory machine-readable storage medium of claim 15 , wherein the operations further comprise:
determining that the request is a write request for writing member profile data associated with the member; and
determining that the request is received from the client device associated with the member,
wherein the identifying of the control signal value includes determining that the one or more legacy databases are designated as the SOT for the member profile data associated with the member, and
wherein the causing of the servicing of the request includes:
receiving an input pertaining to the member profile data from the client device;
transmitting the request to the one or more legacy databases based on the determining that the request is the write request for writing member profile data associated with the member, based on the determining that the request is received from the client device associated with the first member, and based on the control signal value;
updating, based on the input, the member profile data at the one or more legacy databases;
receiving a response to the request from the one or more legacy databases; and
causing, based on the response, a display of the member profile data associated with the member from the one or more legacy databases in a user interface of the client device.
20 . The non-transitory machine-readable storage medium of claim 15 , wherein the identifying of the control signal value includes determining, based on the control signal value, that the consolidated database is in a conditional SOT state,
wherein the operations further comprise:
determining that the request is a write request for writing member profile data associated with the member; and
performing a version verification of the member profile data based on comparing a first version of the member profile data associated with the member at the consolidated database and a second version of the member profile data associated with the member at the one or more legacy databases, a result of the performing of the version verification including a determination that the first version and the second version are the same,
wherein the causing of the servicing of the request includes:
receiving an input pertaining to the member profile data from the client device;
transmitting the request to the consolidated database based on the determining that the consolidated database is in the conditional SOT state, and based on the result of the performing of the version verification;
updating, based on the input, the member profile data at the consolidated database;
receiving a response to the request from the consolidated database; and
causing, based on the response, a display of the member profile data associated with the member from the consolidated database in a user interface of the client device.