Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Nicholas Cameron 0001

dblp:57/1039 · also Nicholas Robert Cameron · DBLP profile ↗
← Back
8ranked-venue papers
5as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7 · 5 first-authorDatabases, data management, data science and information retrieval · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
1 paper
Distributed systems · 100%
Databases, data mining, and information retrieval
1 paper
Database system architecture and tuning · 62% Transaction processing and concurrency control · 19% Indexing and storage engines · 19%
Software engineering, system software, and programming languages
2 papers
Programming languages and type systems · 100%

Topics — the 8 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Database system architecture and tuning
hybrid transactional and analytical processing
0.412020
TiDB: A Raft-based HTAP Database · Proc. VLDB Endow. 2020
Distributed systems
consensus
0.412020
TiDB: A Raft-based HTAP Database · Proc. VLDB Endow. 2020
Distributed systems › consensus › leader-based consensus
raft
0.412020
TiDB: A Raft-based HTAP Database · Proc. VLDB Endow. 2020
Programming languages and type systems › type systems
ownership types
0.222010
Tribal ownership · OOPSLA 2010
Multiple ownership · OOPSLA 2007
Indexing and storage engines
column store
0.112020
TiDB: A Raft-based HTAP Database · Proc. VLDB Endow. 2020
Transaction processing and concurrency control
distributed transaction processing
0.112020
TiDB: A Raft-based HTAP Database · Proc. VLDB Endow. 2020
Programming languages and type systems › object-oriented programming
inner classes
0.012010
Tribal ownership · OOPSLA 2010
Programming languages and type systems › type systems
object-oriented type systems
0.012007
Multiple ownership · OOPSLA 2007

Methods — techniques the papers use, named apart from their topics

replicated state machine · 0.9multi-raft · 0.9
YearPublicationVenuePosition
2020 TiDB: A Raft-based HTAP Database
abstract
Hybrid Transactional and Analytical Processing (HTAP) databases require processing transactional and analytical queries in isolation to remove the interference between them. To achieve this, it is necessary to maintain different replicas of data specified for the two types of queries. However, it is challenging to provide a consistent view for distributed replicas within a storage system, where analytical requests can efficiently read consistent and fresh data from transactional workloads at scale and with high availability. To meet this challenge, we propose extending replicated state machine-based consensus algorithms to provide consistent replicas for HTAP workloads. Based on this novel idea, we present a Raft-based HTAP database: TiDB. In the database, we design a multi-Raft storage system which consists of a row store and a column store. The row store is built based on the Raft algorithm. It is scalable to materialize updates from transactional requests with high availability. In particular, it asynchronously replicates Raft logs to learners which transform row format to column format for tuples, forming a real-time updatable column store. This column store allows analytical queries to efficiently read fresh and consistent data with strong isolation from transactions on the row store. Based on this storage system, we build an SQL engine to process large-scale distributed transactions and expensive analytical queries. The SQL engine optimally accesses row-format and column-format replicas of data. We also include a powerful analysis engine, TiSpark, to help TiDB connect to the Hadoop ecosystem. Comprehensive experiments show that TiDB achieves isolated high performance under CH-benCHmark, a benchmark focusing on HTAP workloads.
Dongxu Huang, Qiu Cui, Zhuhe Fang, Yuxing Zhou, Menglong Huang, Wan Wei, Xuelian Wu, Lingyu Song, Ruoxi Sun 0005, Shuaipeng Yu, Nicholas Cameron 0001, Liquan Pei
Proc. VLDB Endow.20
2012 Encoding Featherweight Java with assignment and immutability using the Coq proof assistant
abstract
We develop a mechanized proof of Featherweight Java with Assignment and Immutability in the Coq proof assistant. This is a step towards more machine-checked proofs of a non-trivial type system. We used object immutability close to that of IGJ [9]. We describe the challenges of the mechanisation and the encoding we used inside of Coq.
Julian Mackay, Hannes Mehnert, Alex Potanin, Lindsay Groves, Nicholas Cameron 0001
FTfJP@ECOOP5
2010 Towards a semantic model for Java wildcards
abstract
Wildcard types enrich the types expressible in Java, and extend the set of typeable Java programs. Syntactic models and proofs of soundness for type systems related to Java wildcards have been suggested in the past, however, the semantics of wildcards has not yet been studied.
Alexander J. Summers, Nicholas Cameron 0001, Mariangiola Dezani-Ciancaglini, Sophia Drossopoulou
FTfJP@ECOOP2
2010 Tribal ownership
abstract
Tribal Ownership unifies class nesting and object ownership. Tribal Ownership is based on Tribe, a language with nested classes and object families. In Tribal Ownership, a program's runtime object ownership structure is characterised by the lexical nesting structure of its classes.We build on a variant of Tribe to present a descriptive ownership system, using object nesting to describe heap partitions, but without imposing any restrictions on programming disciplines. We then demonstrate how a range of different prescriptive ownership policies can be supported on top of the descriptive Tribal Ownership mechanism; including a novel owners-as-local-dominators policy. We formalise our type system and prove soundness and several ownership invariants. The resulting system requires strikingly few annotations, and uses well-understood encapsulation techniques to create ownership systems that should be intuitive for programmers.
Nicholas Cameron 0001, James Noble 0001, Tobias Wrigstad
OOPSLA1
2009 On subtyping, wildcards, and existential types
abstract
Wildcards are an often confusing part of the Java type system: the behaviour of wildcard types is not fully specified by subtyping, due to wildcard capture, and the rules for type checking are often misunderstood. Their very formulation seems somehow 'different' from the rest of the Java type system, which is based on a simple, nominal hierarchy.
Nicholas Cameron 0001, Sophia Drossopoulou
FTfJP@ECOOP1
2009 Existential Quantification for Variant Ownership
Nicholas Cameron 0001, Sophia Drossopoulou
ESOP1
2008 A Model for Java with Wildcards
Nicholas Cameron 0001, Sophia Drossopoulou, Erik Ernst
ECOOP1
2007 Multiple ownership
abstract
Existing ownership type systems require objects to have precisely one primary owner, organizing the heap into an ownership tree. Unfortunately, a tree structure is too restrictive for many programs, and prevents many common design patterns where multiple objects interact.
Nicholas Cameron 0001, Sophia Drossopoulou, James Noble 0001
OOPSLA1