蚂蚁金服OceanBase-蚂蚁集团-开源生态工具研发 java/go/python-OceanBase
社招全职3年以上技术类-开发地点:杭州状态:招聘
任职要求
1.熟练掌握ACID、范式设计、索引设计等关系数据库基础理论知识,熟悉2pc、paxos、base、cap等分布式数据库基础理论知识; 2.熟练掌握MySQL、Oracle等一种主流数据库体系架构及运行机制,了解主流的分布式数据库(Spanner/Cassandra等),对各数据库优劣和适用场景有深入的理解,能根据具体场景进行数据库选型和模型设计; 3.熟悉Linux/Unix操作系统,熟练掌握C++/Java/Python/Perl/Golang等语言中的一种,可以通过编写程序解决工作中遇到的问题,具备良好的编程风格,有高并发系统经验者优先; 4.熟练掌握数据库性能优化技巧,能够定位全链路上的性能瓶颈(网络、CPU、IO、操作系统等),并解决问题; 5.对技术特别是存储技术方面有激情有追求,愿意在数据库领域持续投入青春和精力,渴望突破、勇于挑战; 6.良好的团队协作能力,有大局观,有较强的抗压能力和积极的心态; 7.良好的沟通表达能力,具备优秀的文档能力,使用文字、图示清楚地表达架构意图,能够熟练编写各类技术文档; 8.具有 Hadoop/spark/Flink/storm/elastic search/Kafka等分布式计算系统开发/运维经验者优。
工作职责
参与开源生态的研发 1. 负责数据库同步系统的研发, 底层使用类似于流计算框架来支撑数据库之间的集数据迁移、订阅及实时同步功能于一体. 可参考https://www.oceanbase.com/product/oms; 2. 负责数据库备份工具, 可以为OceanBase提供强有力的保护,包括本地数据中心、其他云厂商、公共云及混合云; 3. 负责数据库运维管控平台, 实现OceanBase管控平台的研发, 管理和部署OceanBse, 接入k8s, https://www.oceanbase.com/product/ocp; 4. 负责数据库诊断工具的研发, 帮助快速定位OceanBase 问题, 尤其是对OceanBase监控系统; 5. 负责数据库客户端驱动, 实现类似go 驱动, 对接navicate, kettle, hue 等工具。
包括英文材料
Paxos+
https://lamport.azurewebsites.net/pubs/paxos-simple.pdf
The Paxos algorithm for implementing a fault-tolerant distributed system has been regarded as difficult to understand, perhaps because the original presentation was Greek to many readers.
https://paxos.systems/
Paxos algorithms are a family of consensus algorithms (or protocols) that are used in distributed systems to achieve consensus in the presence of crash failures.
https://www.scylladb.com/glossary/paxos-consensus-algorithm/
Paxos is a family of protocols for solving the problem of consensus in distributed networks.
CAP+
https://www.hellointerview.com/learn/system-design/core-concepts/cap-theorem
Master the fundamental tradeoffs between consistency and availability in distributed systems.
https://www.ibm.com/think/topics/cap-theorem
The CAP theorem says that a distributed system can deliver only two of three desired characteristics:
consistency, availability and partition tolerance (the ‘C,’ ‘A’ and ‘P’ in CAP).
https://www.youtube.com/watch?v=BHqjEjzAicA
MySQL+
https://juejin.cn/post/7190306988939542585
这是一篇 MySQL 通关一篇过硬核经验学习路线,包括数据库相关知识,SQL语句的使用,数据库约束,设计等。
[英文] MySQL Tutorial
https://www.mysqltutorial.org/
your go-to resource for mastering MySQL in a fast, easy, and enjoyable way.
https://www.youtube.com/watch?v=5OdVJbNCSso
MySQL SQL tutorial for beginners
https://www.youtube.com/watch?v=7S_tz1z_5bA
This beginner-friendly course teaches you SQL from scratch.
Oracle+
[英文] Oracle Tutorial
https://www.oracletutorial.com/
On this website, you can learn Oracle Database fast and easily.
https://www.youtube.com/watch?v=QHYuuXPdQNM&list=PL_c9BZzLwBRJ8f9-pSPbxSSG6lNgxQ4m9
Cassandra+
[英文] Learn Cassandra
https://teddyma.gitbooks.io/learncassandra/content/index.html
This book step-by-step guides developers to understand what Cassandra is, how Cassandra works and how to use the features and capabilities of Apache Cassandra 2.0.
https://www.freecodecamp.org/news/the-apache-cassandra-beginner-tutorial/
In this tutorial I will introduce you to Apache Cassandra, a distributed, horizontally scalable, open-source database.
https://www.youtube.com/watch?v=J-cSy5MeMOA
Apache Cassandra is an open source NoSQL distributed database.
Linux+
https://ryanstutorials.net/linuxtutorial/
Ok, so you want to learn how to use the Bash command line interface (terminal) on Unix/Linux.
https://ubuntu.com/tutorials/command-line-for-beginners
The Linux command line is a text interface to your computer.
https://www.youtube.com/watch?v=6WatcfENsOU
In this Linux crash course, you will learn the fundamental skills and tools you need to become a proficient Linux system administrator.
https://www.youtube.com/watch?v=v392lEyM29A
Never fear the command line again, make it fear you.
https://www.youtube.com/watch?v=ZtqBQ68cfJc
Unix+
[英文] The UNIX® Standard
https://www.opengroup.org/membership/forums/platform/unix
https://www.youtube.com/watch?v=IrDUcdpPmdI
UNIX is an operating system which was first developed in the 1970s, and has been under constant development ever since.
C+++
https://www.learncpp.com/
LearnCpp.com is a free website devoted to teaching you how to program in modern C++.
https://www.youtube.com/watch?v=ZzaPdXTrSb8
Java+
https://www.youtube.com/watch?v=eIrMbAQSU34
Master Java – a must-have language for software development, Android apps, and more! ☕️ This beginner-friendly course takes you from basics to real coding skills.
Python+
https://liaoxuefeng.com/books/python/introduction/index.html
中文,免费,零起点,完整示例,基于最新的Python 3版本。
https://www.learnpython.org/
a free interactive Python tutorial for people who want to learn Python, fast.
https://www.youtube.com/watch?v=K5KVEU3aaeQ
Master Python from scratch 🚀 No fluff—just clear, practical coding skills to kickstart your journey!
https://www.youtube.com/watch?v=rfscVS0vtbw
This course will give you a full introduction into all of the core concepts in python.
Perl+
https://www.perl.org/learn.html
Useful links if you are interested in learning Perl
https://www.runoob.com/perl/perl-tutorial.html
本教程适合想从零开始学习 Perl 编程语言的开发人员。当然本教程也会对一些模块进行深入,让你更好的了解 Perl 的应用。
Go+
https://www.youtube.com/watch?v=8uiZC0l4Ajw
学习Golang的完整教程!从开始到结束不到一个小时,包括如何在Go中构建API的完整演示。没有多余的内容,只有你需要知道的知识。
高并发+
https://www.baeldung.com/concurrency-principles-patterns
In this tutorial, we’ll discuss some of the design principles and patterns that have been established over time to build highly concurrent applications.
https://www.baeldung.com/java-concurrency
Handling concurrency in an application can be a tricky process with many potential pitfalls. A solid grasp of the fundamentals will go a long way to help minimize these issues.
https://www.oreilly.com/library/view/concurrency-in-go/9781491941294/
You’ll understand how Go chooses to model concurrency, what issues arise from this model, and how you can compose primitives within this model to solve problems.
https://www.oreilly.com/library/view/modern-concurrency-in/9781098165406/
With this book, you'll explore the transformative world of Java 21's key feature: virtual threads.
https://www.youtube.com/watch?v=qyM8Pi1KiiM
https://www.youtube.com/watch?v=wEsPL50Uiyo
Hadoop+
https://www.runoob.com/w3cnote/hadoop-tutorial.html
Hadoop 为庞大的计算机集群提供可靠的、可伸缩的应用层计算和存储支持,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集,并且支持在单台计算机到几千台计算机之间进行扩展。
[英文] Hadoop Tutorial
https://www.tutorialspoint.com/hadoop/index.htm
Hadoop is an open-source framework that allows to store and process big data in a distributed environment across clusters of computers using simple programming models.
Spark+
[英文] Learning Spark Book
https://pages.databricks.com/rs/094-YMS-629/images/LearningSpark2.0.pdf
This new edition has been updated to reflect Apache Spark’s evolution through Spark 2.x and Spark 3.0, including its expanded ecosystem of built-in and external data sources, machine learning, and streaming technologies with which Spark is tightly integrated.
Flink+
https://nightlies.apache.org/flink/flink-docs-release-2.0/docs/learn-flink/overview/
This training presents an introduction to Apache Flink that includes just enough to get you started writing scalable streaming ETL, analytics, and event-driven applications, while leaving out a lot of (ultimately important) details.
https://www.youtube.com/watch?v=WajYe9iA2Uk&list=PLa7VYi0yPIH2GTo3vRtX8w9tgNTTyYSux
Today’s businesses are increasingly software-defined, and their business processes are being automated. Whether it’s orders and shipments, or downloads and clicks, business events can always be streamed. Flink can be used to manipulate, process, and react to these streaming events as they occur.
Apache Storm+
[英文] Tutorial
https://storm.apache.org/releases/2.6.0/Tutorial.html
In this tutorial, you'll learn how to create Storm topologies and deploy them to a Storm cluster.
https://www.baeldung.com/apache-storm
This tutorial will be an introduction to Apache Storm, a distributed real-time computation system.
Kafka+
https://developer.confluent.io/what-is-apache-kafka/
https://www.youtube.com/watch?v=CU44hKLMg7k
https://www.youtube.com/watch?v=j4bqyAMMb7o&list=PLa7VYi0yPIH0KbnJQcMv5N9iW8HkZHztH
In this Apache Kafka fundamentals course, we introduce you to the basic Apache Kafka elements and APIs, as well as the broader Kafka ecosystem.
相关职位
社招5年以上A158003A
1、负责数据库产品线稳定性整体规划、稳定性建设技术方案输出等稳定性相关研发活动; 2、识别数据库产品线问题与风险,对系统架构、部署架构、研发流程、变更流程、运营运维效率与准确性给出专有指导,持续提升关系型数据库、NoSQL、数据库生态工具、混合云等的稳定性; 3、负责重大活动和客户保障,完成数据库重保能力建设; 4、指导数据库稳定性平台建设,包括但不限于可视化、可运维、智能化等通用能力方向; 5、掌握数据库领域技术进展和稳定性建设专有经验,推动数据库稳定性架构创新。
更新于 2023-12-12
社招5年以上A204532A
1、负责数据库产品线稳定性整体规划、稳定性建设技术方案输出等稳定性相关研发活动; 2、识别数据库产品线问题与风险,对系统架构、部署架构、研发流程、变更流程、运营运维效率与准确性给出专有指导,持续提升关系型数据库、NoSQL、数据库生态工具、混合云等的稳定性; 3、负责重大活动和客户保障,完成数据库重保能力建设; 4、指导数据库稳定性平台建设,包括但不限于可视化、可运维、智能化等通用能力方向; 5、掌握数据库领域技术进展和稳定性建设专有经验,推动数据库稳定性架构创新。
更新于 2023-12-07
社招5年以上A26329
1、负责数据库产品线稳定性整体规划、稳定性建设技术方案输出等稳定性相关研发活动; 2、识别数据库产品线问题与风险,对系统架构、部署架构、研发流程、变更流程、运营运维效率与准确性给出专有指导,持续提升关系型数据库、NoSQL、数据库生态工具、混合云等的稳定性; 3、负责重大活动和客户保障,完成数据库重保能力建设; 4、指导数据库稳定性平台建设,包括但不限于可视化、可运维、智能化等通用能力方向; 5、掌握数据库领域技术进展和稳定性建设专有经验,推动数据库稳定性架构创新。
更新于 2023-12-07