Multiversion concurrency control and Vladimir Dekanozov: Difference between pages

From Wikipedia, the free encyclopedia
(Difference between pages)
Content deleted Content added
→‎Databases with MVCC: Changed postgres version to 8.3
 
Alex Bakharev (talk | contribs)
m Protected Vladimir Dekanozov: Move warring ([move=sysop] (indefinite))
 
Line 1: Line 1:
'''Vladimir Georgievich Dekanozov (Dekanozishvili)''' (Владимир Георгиевич Деканозов (Деканозишвили), June 1898, [[Baku]] - 23 December 1953) was a Soviet senior state security operative and a diplomat.
{{Mergefrom|Snapshot isolation|date=May 2008}}


==Biography==
'''Multiversion concurrency control''' (abbreviated '''MCC''' or '''MVCC'''), in the [[database]] field of [[computer science]], is a [[concurrency control]] method commonly used by [[database management system]]s to provide concurrent access to the database.
===Before Second World War===
Vladimir Dekanozov (Dekanozishvili) was born in the family of Giorgi Dekanozishvili, founder of the Party of Georgian Social-Federalists. From 1931 to 1938, he was a high-ranking party and state official in the [[Georgian SSR]]. He transferred to [[NKVD]] in November, 1938 when [[Lavrentii Beria]] was appointed the head of NKVD. Dekanozov was the deputy chief of [[GUGB]] and at the same time headed both its foreign intelligence and counterintellegence departments from 1938 to 1939.


In May 1939 he was appointed the deputy chief of the People's Commissariat for Foreign Affairs ([[NKID]]). His sphere of responsibility before 1941 included [[Iran]], [[Turkey]], [[Afghanistan]], [[Mongolia]], and [[Xinjiang]], as well as all consulates, cadres, and finances of NKID.
MVCC provides each user connected to the database with a "snapshot" of the database for that person to work with. Any changes made will not be seen by other users of the database until the transaction has been committed.


===Second World War===
==Implementation==
====Incorporation of Lithuania into USSR====
MVCC uses [[timestamp]]s or increasing transaction IDs to achieve [[serializability]]. MVCC ensures a transaction never has to wait for a database object by maintaining several versions of an object. Each version would have a write timestamp and it would let a transaction T<sub>i</sub> read the most recent version of an object which precedes timestamp TS(T<sub>i</sub>).
{{main|Occupation of Baltic States#Soviet invasion}}
Soviet military forces (15 divisions, about 150,000 soldiers) crossed the [[Lithuania]]n border on [[June 15]], [[1940]], with the [[military of Lithuania]] being ordered not to resist. Dekanozov arrived to Lithuania on the same day to organise incorporation of Lithuania into Soviet Union. [[Communist Party of Lithuania]] headed by [[Antanas Sniečkus]] was at disposal of Dekanozov. With Dekanozov came specialists for Soviet administration and for Soviet security organs. The Soviet military established the controlling presence that allowed Dekanozov to fulfill his function as representative of the [[Communist Party of the Soviet Union|All-Union Communist Party (Bolsheviks)]]. The process creating the [[Lithuanian Soviet Socialist Republic]] was Dekanozov’s work. He installed himself in the Soviet embassy, and he imposed on Lithuania the Soviet party-state structure in which the traditional governmental forms were of only secondary importance. Dekanozov restructured the Lithuanian government, naming [[Justas Paleckis]], a Lithuanian leftist who was not yet a member of the Communist Party, as Prime Minister [http://www.leonoxiiifondas.lt/index.php?id=193].


Aided by specialists sent in from Moscow, Dekanozov worked through the [[Lithuanian Communist Party]], while the cabinet of ministers, headed by Paleckis, served an administrative function. Dekanozov and Paleckis brought a number of non-members of the Communist Party (but still pro-communists) into the first "People’s government", but in historical retrospect it is clear that they constituted window dressing for the Soviet takeover. For his part, Dekanozov pushed his program carefully, concentrating first of all on denouncing the [[Antanas Smetona|Smetona]] regime in Lithuania, then promising to respect private property, assuring Lithuanians that agriculture would not be collectivized, and restraining any discussion of the possibility of joining the Soviet Union until mid-July.
If T<sub>i</sub> wants to write to an object, and if there was another transaction T<sub>k</sub>, the timestamp order must be TS(T<sub>i</sub>) < TS(T<sub>k</sub>) for the object write operation to succeed.


On [[July 6]] Dekanozov’s government announced that on [[July 14]] there would be elections for a new parliament, a so-called [[People’s Parliament]]. The Lithuanian Communist Party announced the formation of the Union of the Toiling People of Lithuania that offered a slate of candidates, including some ten non-members of the Communist Party, with just one person designated for every seat in the new parliament. On July 11 and 12, the Soviet authorities reduced the possible points of opposition by arresting leading figures of the old regime and deporting some of them to the interior of the Soviet Union – this although Lithuania was still formally an independent state.
Every object would also have a read timestamp, and if T<sub>i</sub> wanted to write to object P, and TS(T<sub>i</sub>) < RTS(P), T<sub>i</sub> is aborted and restarted. Otherwise, T<sub>i</sub> creates a new version of P and sets the read/write timestamps of P to TS(T<sub>i</sub>).
The guiding hand in this process was Dekanozov’s. He used the Lithuanian government, and the Communist Party of Lithuania, as his instruments to carry out the will of the Soviet party leadership. Throughout the process, Soviet propagandists insisted there was only one acceptable path for the country, and all were obliged to follow it. They concentrated on creating an image of mass support, and they called for determined measures against those who somehow opposed the new order and wanted to sabotage the elections of July 14.


Lithuania became a part of the Stalinist Soviet party-state, administered within the All-Union Communist Party (Bolsheviks) structure long before it was formally incorporated into the governmental structure of the Soviet Union. By the time the new [[Soviet state]] structure in Lithuania had been formalized, Dekanozov had long since left Lithuania. In July 1940 he had returned to Moscow, his job completed, when the People’s Parliament voted to ask for membership in the USSR. In barely more than a month, he had reorganized the Lithuanian state, set the social and economic development on Lithuania onto a new course, and had contributed to the enlargement of the Soviet state. Sovietisation of Lithuania started by Dekanozov was carried on by [[Nikolai Pozdniakov]] [http://www.genocid.lt/Leidyba/8/nijole8.htm].
The obvious drawback to this system is the cost of storing multiple versions of objects in the database. On the other hand reads are never blocked, which can be important for workloads mostly involving reading values from the database. MVCC is particularly adept at implementing true [[snapshot isolation]], something which other methods of concurrency control frequently do either incompletely or with high performance costs.


Similarly annexation of Latvia was supervised by deputy Commissar for Foreign Affairs [[Andrey Vyshinsky]] and annexation of Estonia was supervised by full member of the politburo [[Andrei Zhdanov]].
==History==
[[Multiversion concurrency control]] is described in some detail in sections 4.3 and 5.5 of the [[1981]] paper "Concurrency Control in Distributed Database Systems"<ref>{{cite web | author=Bernstein, Philip A. and Goodman, Nathan | title=Concurrency Control in Distributed Database Systems | work=ACM Computing Surveys | url=http://portal.acm.org/citation.cfm?id=356846&dl=GUIDE&coll=Portal | accessmonthday=September 21 | accessyear=2005 }}</ref> by Philip Bernstein and Nathan Goodman -- then employed by the Computer Corporation of America. Bernstein and Goodman's paper cites a [[1978]] dissertation<ref>{{cite web | author=Reed, D.P. | title=Naming and Synchronization in a Decentralized Computer System | work=MIT dissertation | url=http://www.lcs.mit.edu/publications/specpub.php?id=773 | accessmonthday=September 21 | accessyear=1978 }}</ref> by [[David P. Reed]] which quite clearly describes MVCC and claims it as an original work.


==Databases with MVCC==
====Work in Berlin====

* [[Berkeley DB]]<ref name="BDB">[http://www.oracle.com/technology/documentation/berkeley-db/db/ref/transapp/read.html Berkeley DB Reference Guide: Degrees of Isolation]</ref>
From November 1940 Dekanozov, remaining the deputy chief of NKID, was also the Soviet ambassador to [[Berlin]].
* [[CouchDB]]

* [[Firebird (database server)]] (among the first databases with MVCC <ref>White paper by Roman Rokytskyy [http://www.firebirdsql.org/doc/whitepapers/fb_vs_ibm_vs_oracle.htm Firebird and Multi Version Concurrency Control]</ref>)
===After Second World War===
* [[FLAIM Database Engine|FLAIM]]

* [[H2 (DBMS)|H2 Database Engine]] (experimental since Version 1.0.57 (2007-08-25)) <ref>[http://www.h2database.com/html/advanced.html#mvcc Multi-Version Concurrency Control in the H2 Database Engine ]</ref>
Dekanozov continued to be the deputy chief of NKID and then of the Foreign Affairs Ministry until 1947. Then he held other senior positions before being appointed in April 1953 the Interior Minister of Georgian SSR (after Beria became the Interior Minister of the USSR).
* [[InterBase]] (all versions)<ref name="IBMVCC">{{cite web

| last = Todd
A close associate of Beria, Dekanozov was arrested in June 1953 and was sentenced to death and shot in December 1953.
| first = Bill
| year = 2000
| url = http://dbginc.com/tech_pprs/IB.html
| title = InterBase: What Sets It Apart
| accessdaymonth = [[4 May]]
| accessyear = [[2006]]
}}</ref>
* [[Microsoft SQL Server]] (only in SQL Server 2005 and later)
* [[MySQL]] when used with [[InnoDB]]<ref>MySQL 5.1 Reference Manual, [http://dev.mysql.com/doc/refman/5.1/en/innodb-multi-versioning.html Section 14.2.12: Implementation of Multi-Versioning]</ref>, [[Falcon (storage engine)|Falcon]]<ref> or Maria MySQL 5.1 Reference Manual, [http://mysql.org/doc/refman/5.1/en/se-falcon-features.html Section 14.6.1: Falcon Features]</ref> storage engines.
* [[Oracle database]] all versions since Oracle 7<ref> Oracle Database Concepts: Chapter 13 Data Concurrency and Consistency [http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14220/consist.htm#i17881 Multiversion Concurency Control]</ref>
* [[PostgreSQL]]<ref>PostgreSQL 8.3 Documentation, [http://postgresql.org/docs/8.3/static/mvcc.html Chapter 12: Concurrency Control]</ref> and PostgreSQL derivatives such as [[Netezza]] and [[Greenplum]]
* [[SQL Anywhere]]
* [[ThinkSQL]]
* [[Zope Object Database]]<ref>[http://wiki.zope.org/ZODB/MultiVersionConcurrencyControl Proposal for MVCC in ZODB]</ref>
* [[ScimoreDB]]
* [[Altibase]]


==See also==
==See also==
*[[Soviet-German relations before 1941]]
* [[Timestamp-based concurrency control]]


==References==
==References==
<references/>


[http://www.genocid.lt/Leidyba/8/nijole8.htm Nijolė Maslauskienė. The Purge of Civil Servants in Soviet Occupied Lithuania between June–December 1940]
[[Category:Concurrency control]]

[[Category:Transaction processing]]
{{DEFAULTSORT:Dekanozov, Vladimir}}
[[Category:1898 births]]
[[Category:NKVD officers]]
[[Category:Soviet politicians]]
[[Category:Soviet diplomats]]
[[Category:People from Baku]]
[[Category:Soviet ambassadors to Germany]]
[[Category:1953 deaths]]


[[de:Wladimir Georgijewitsch Dekanosow]]
[[ru:MVCC]]
[[lt:Vladimiras Dekanozovas]]
[[de:Multiversion Concurrency Control]]
[[pl:Władimir Diekanozow]]
[[ja:MultiVersion Concurrency Control]]
[[ru:Деканозов, Владимир Георгиевич]]
[[fi:Vladimir Dekanosov]]

Revision as of 23:01, 9 October 2008

Vladimir Georgievich Dekanozov (Dekanozishvili) (Владимир Георгиевич Деканозов (Деканозишвили), June 1898, Baku - 23 December 1953) was a Soviet senior state security operative and a diplomat.

Biography

Before Second World War

Vladimir Dekanozov (Dekanozishvili) was born in the family of Giorgi Dekanozishvili, founder of the Party of Georgian Social-Federalists. From 1931 to 1938, he was a high-ranking party and state official in the Georgian SSR. He transferred to NKVD in November, 1938 when Lavrentii Beria was appointed the head of NKVD. Dekanozov was the deputy chief of GUGB and at the same time headed both its foreign intelligence and counterintellegence departments from 1938 to 1939.

In May 1939 he was appointed the deputy chief of the People's Commissariat for Foreign Affairs (NKID). His sphere of responsibility before 1941 included Iran, Turkey, Afghanistan, Mongolia, and Xinjiang, as well as all consulates, cadres, and finances of NKID.

Second World War

Incorporation of Lithuania into USSR

Soviet military forces (15 divisions, about 150,000 soldiers) crossed the Lithuanian border on June 15, 1940, with the military of Lithuania being ordered not to resist. Dekanozov arrived to Lithuania on the same day to organise incorporation of Lithuania into Soviet Union. Communist Party of Lithuania headed by Antanas Sniečkus was at disposal of Dekanozov. With Dekanozov came specialists for Soviet administration and for Soviet security organs. The Soviet military established the controlling presence that allowed Dekanozov to fulfill his function as representative of the All-Union Communist Party (Bolsheviks). The process creating the Lithuanian Soviet Socialist Republic was Dekanozov’s work. He installed himself in the Soviet embassy, and he imposed on Lithuania the Soviet party-state structure in which the traditional governmental forms were of only secondary importance. Dekanozov restructured the Lithuanian government, naming Justas Paleckis, a Lithuanian leftist who was not yet a member of the Communist Party, as Prime Minister [1].

Aided by specialists sent in from Moscow, Dekanozov worked through the Lithuanian Communist Party, while the cabinet of ministers, headed by Paleckis, served an administrative function. Dekanozov and Paleckis brought a number of non-members of the Communist Party (but still pro-communists) into the first "People’s government", but in historical retrospect it is clear that they constituted window dressing for the Soviet takeover. For his part, Dekanozov pushed his program carefully, concentrating first of all on denouncing the Smetona regime in Lithuania, then promising to respect private property, assuring Lithuanians that agriculture would not be collectivized, and restraining any discussion of the possibility of joining the Soviet Union until mid-July.

On July 6 Dekanozov’s government announced that on July 14 there would be elections for a new parliament, a so-called People’s Parliament. The Lithuanian Communist Party announced the formation of the Union of the Toiling People of Lithuania that offered a slate of candidates, including some ten non-members of the Communist Party, with just one person designated for every seat in the new parliament. On July 11 and 12, the Soviet authorities reduced the possible points of opposition by arresting leading figures of the old regime and deporting some of them to the interior of the Soviet Union – this although Lithuania was still formally an independent state.

The guiding hand in this process was Dekanozov’s. He used the Lithuanian government, and the Communist Party of Lithuania, as his instruments to carry out the will of the Soviet party leadership. Throughout the process, Soviet propagandists insisted there was only one acceptable path for the country, and all were obliged to follow it. They concentrated on creating an image of mass support, and they called for determined measures against those who somehow opposed the new order and wanted to sabotage the elections of July 14.

Lithuania became a part of the Stalinist Soviet party-state, administered within the All-Union Communist Party (Bolsheviks) structure long before it was formally incorporated into the governmental structure of the Soviet Union. By the time the new Soviet state structure in Lithuania had been formalized, Dekanozov had long since left Lithuania. In July 1940 he had returned to Moscow, his job completed, when the People’s Parliament voted to ask for membership in the USSR. In barely more than a month, he had reorganized the Lithuanian state, set the social and economic development on Lithuania onto a new course, and had contributed to the enlargement of the Soviet state. Sovietisation of Lithuania started by Dekanozov was carried on by Nikolai Pozdniakov [2].

Similarly annexation of Latvia was supervised by deputy Commissar for Foreign Affairs Andrey Vyshinsky and annexation of Estonia was supervised by full member of the politburo Andrei Zhdanov.

Work in Berlin

From November 1940 Dekanozov, remaining the deputy chief of NKID, was also the Soviet ambassador to Berlin.

After Second World War

Dekanozov continued to be the deputy chief of NKID and then of the Foreign Affairs Ministry until 1947. Then he held other senior positions before being appointed in April 1953 the Interior Minister of Georgian SSR (after Beria became the Interior Minister of the USSR).

A close associate of Beria, Dekanozov was arrested in June 1953 and was sentenced to death and shot in December 1953.

See also

References

Nijolė Maslauskienė. The Purge of Civil Servants in Soviet Occupied Lithuania between June–December 1940