HNHacker News
TopNewBestAskShowJobs

ngaut

5,889 karma · joined November 8, 2014

software engineer
submissionscomments
ngaut··on An open source object storage server with Amazon S3 compatible API
Cool, it uses a distributed database TiDB as the meta data storage.
ngaut··on TiDB Passes Jepsen Test for Snapshot Isolation and Single-Key Linearizability
See Kyle's report here:https://jepsen.io/analyses/tidb-2.1.7?from=timeline&isappins...
ngaut··on Implementing your own programming language in Rust in one hour
slides: https://gitlab.com/frondeus/meetup-2019.02/blob/master/Meetu...
ngaut··on Building Consistent Transactions with Inconsistent Replication (2015) [pdf]
The project URL:https://github.com/UWSysLab/tapir
ngaut··on Learning Scheduling Algorithms for Data Processing Clusters
Prototype integration with Spark on a 25-node cluster shows that Decima outperforms several heuristics, including hand-tuned ones, by at least 21%. Further experiments with an industrial production workload trace demonstrate that Decima delivers up to a 17% reduction in average job completion time and scales to large clusters.
ngaut··on An distributed implementation of Redis compatible layer based on TiKV
Features

Compatible with redis protocol

Full distributed transaction support

Strong consistency

High availability

ngaut··on So I wrote a BASIC in golang
Here is a blog post: https://blog.steve.fi/so_i_wrote_a_basic_basic.html
ngaut··on QSYM: A Practical Concolic Execution Engine Tailored for Hybrid Fuzzing
Paper: https://www.usenix.org/conference/usenixsecurity18/presentat...

Slides: https://www.usenix.org/sites/default/files/conference/protec...

ngaut··on The number of golang commits from non-Googlers seems to have overtaken Googlers
Data is generated by gopherstats(https://godoc.org/golang.org/x/build/cmd/gopherstats)
ngaut··on PGo is a source to source compiler to compile PlusCal into Go/TLA+
The paper link: https://www.sigops.org/src/srcsosp2017/sosp17src-final23.pdf
ngaut··on Accelerating SQL Database Operations on a GPU with CUDA: Extended Results [pdf]
This paper implements a subset of the SQLite virtual machine directly on the GPU, accelerating SQL queries by executing in parallel on GPU hardware.

This paper focuses on accelerating SELECT queries and describes the considerations in an efficient GPU implementation of the SQLite command processor.

Results on an NVIDIA Tesla C1060 achieve speedups of 20-70x depending on the size of the result set.

ngaut··on Rapidus: A toy JavaScript engine in Rust
Features:

Small

Support Tracing-JIT compiling

ngaut··on Fletcher: A framework to integrate FPGA accelerators with Apache Arrow
Thanks for providing more details.
ngaut··on WebAssembly compiler implemented in Go
Features

Source is a wasm32 binary module. The application embedding the compiler decides what import functions it provides.

Supports x86-64. Support for 64-bit ARM is planned. (Support for non-64-bit or non-little-endian CPU architectures isn't planned.)

Single-pass, low-latency ahead-of-time compilation. Early functions can be executed while the latter functions are still being compiled, even while the source is still being downloaded.

Generated code requires minimal runtime support. It may be run e.g. in a strict seccomp sandbox. Note: calling standard library ABIs is not supported.

Supports snapshot-and-restore across compiler versions and CPU architectures.

ngaut··on A war story: Developer re-implements Google Maglev in Rust for networking
Rusty rail is a line rate distributed load balancer It is inspired by the Google Maglev paper(http://research.google.com/pubs/pub44824.html). Here is the video talk: https://www.youtube.com/watch?v=_GRM1Ij_3t0
ngaut··on Automatic Generation of a Hybrid Query Execution Engine
The source code is available on GitHub: https://github.com/AlexKashuba/SQLite_JIT
ngaut··on Automatic Generation of a Hybrid Query Execution Engine
"We create a set of automated tools to create a runtime code generation engine and integrate such an engine into SQLite which is one of the most popular relational databases in the world and is used in a large variety of contexts. Speedups of up to 1.7x were observed in microbenchmarks with queries involving a large number of operations"
ngaut··on The X-FILES: avoiding concurrency boilerplate with golang.org/x/sync
Thanks, done.
ngaut··on A dull, resilient stream processor in Go
Supported Sources & Sinks: Amazon (S3, SQS), Elasticsearch (output only), File, HTTP(S), Kafka, MQTT, Nanomsg, NATS, NATS Streaming, NSQ, RabbitMQ (AMQP 0.91), Redis, Stdin/Stdout, Websocket, ZMQ4.
ngaut··on Go 1.11 Beta 3 is released
And distributed database: https://github.com/pingcap/tidb
ngaut··on Show HN: HugeGraph – An open source fast and highly scalable graph database
Features: Compliance to Apache TinkerPop 3, supporting Gremlin Schema Metadata Management, including VertexLabel, EdgeLabel, PropertyKey and IndexLabel Multi-type Indexes, supporting exact query, range query and complex conditons combination query Plug-in Backend Store Driver Framework, supporting RocksDB, Cassandra, ScyllaDB and MySQL now and easy to add other backend store driver if needed Integration with Hadoop/Spark
ngaut··on Ask HN: What highly scalable thing have you built with Go?
TiDB is a distributed HTAP database compatible with the MySQL protocol(https://github.com/pingcap/tidb)
ngaut··on TiSpark sits Spark SQL on top of a storage engine to answer complex OLAP queries
Nice reference, thanks for sharing.
ngaut··on CockroachDB 1.0
Almost there.
ngaut··on Introducing Cloud Spanner, a Global Database Service
If the clock offset is too high (more than 250ms), we should use another transaction model, Google Percolator is a good fit before the unforeseeable improvement in the hardware. Based on the monitoring of clock offset on cloud, TiDB chose to use the timestamp oracle to allocate timestamp, which is much faster.
ngaut··on Distributed SQL database (TiDB) source code explained
RocksDB is widely used in many of projects for years, i think it's quite mature. Not just TiDB and CockroachDB, MyRocks and MongoRocks are using RocksDB as storage engine too. Also there are plenty of other projects are using RocksDB. If you are worry about the adding new feature of RocksDB, yes, you are right, but all of the storage engine are changing rapidly(even InnoDB which is used by MySQL as default engine), Anyway, happy hacking :)
ngaut··on Distributed SQL database (TiDB) source code explained
Thank you,We are still working on the next RC release.
ngaut··on TiDB – A distributed NewSQL database compatible with MySQL protocol
Yes, it does. Thanks to MVCC, TiDB supports the repeatable read isolation level which guarantees that any data read cannot change, if the transaction reads the same data again, it will find the previously read data in place, unchanged, and available to read.

So we can use any MySQL tools such as mysqldump or mydumper to backup the database consistently.

See the MVCC implementation here: https://pingcap.github.io/blog/2016/10/17/how-we-build-tidb/

ngaut··on TiDB – A distributed NewSQL database compatible with MySQL protocol
Hi, TiDB maps SQL table to K/V table and store the SQL table to K/V store(TiDB store these K/V to TiKV), Please see https://pingcap.github.io/blog/2016/10/17/how-we-build-tidb/
ngaut··on TiDB – A distributed NewSQL database compatible with MySQL protocol
(TiDB developer here)

Actually we are using RPC to call Rust from go, and it has nothing to do with Go or Rust, because either way we have to do RPC call(by encoding and decoding data), currently we depend on protocol buffer and customized RPC , and we are trying to migrate to gPRC. We know Go doesn't have pattern matching and generics, and it's kind of pain sometimes. But still we like Go very much because of simplicity and concurrency.

← PreviousPage 2 of 3Next →