SlideShare une entreprise Scribd logo
1  sur  55
Presented at:
Chicago IT Architects Group

Jan 15, 2013
shankar ramachandran
works with:
Microsoft Web Stack of Love
Microsoft SQL Server


also works with:
Skipping
essential steps,
just creates an
illusion of
speed &
growth.
simple.




          5
Agenda
• What NoSQL is & What it is not
• Why NoSQL – 2 specific reasons
• Conceptual Fundamentals & Grounding
• 3 techniques to classify & choose
• Way ahead
What

• Variety of non-
  relational database
  systems
• Usually schema-less
• Mostly open-source



• Not anti-RDBMS
• Not a replacement
No – relational tables –
were harmed in the making of
      this presentation.
Why NoSQL?
Reason #1
Big Data
“Big Data”
4 Vs of Big Data
Volume                      Velocity
• Terabytes and Petabytes   • Time sensitive real-time
                              data processing & decision
                              making


Variety                     Value

• Of structured and         • Inherent value always
  unstructured data
RDBMS can handle all that. Right??
• Scaling up has a limit.

• Sharding          - spread data across servers.


• Denormalization - potentially duplicates data in the
                    database, requiring updates to multiple tables when a
.                   duplicated data item is changed


• Distributed Caching - caching recently accessed data in memory
                        and storing that data across any number of servers
.                       or virtual machines. Think Memcached.
RDBMS tactics - Downside & Pitfalls
• Re-sharding is disruptive.


• Maintain schema on every server

• Distributed Caching accelerates just the reads


• You lose relational benefits anyway.
aggregate-oriented
        vs.
aggregate-ignorant
Aggregate-orientation
   • Unit of data can have a more complex
     structure than a set of simple tuples.

   • Excellent fit to run on a cluster.

   • Atomic manipulation of single
     aggregate.

   • Application code takes precedence.
Reason #2
Impedance Mismatch
• Difference between relational model & in-memory data
  structures

• Simple tuples

• ORMs provide a bridge ; complicate query
  performance.
{ product : "Tintin Statue",
created : Date(’11-16-2010’),
title : "Brass replica of Tintin",
tags : [ "tintin", "herge", "snowy"],
comments : [
{ author : ‘Shankar', comment : 'I love it' },
{ author : ‘Skeet', comment : 'me too!!' } ] }
Concepts
3 properties of distributed databases
• Consistency means that each client always has the
  same view of the data.
• Availability - node always available for read and
  write.
• Partition tolerance means that the system works
  well across physical network partitions.
consistency   availability partition-tolerance only-2-out-of-3


              CAP Theorem
consistency   availability



partition-tolerance




                This is incorrect
consistency   availability




partition-tolerance
horizontal-partitioning   multiple-instances shared-nothing

                          sharding
commodity-hardware   distributed infinite-expansion


   horizontal-scalability
google-patented-framework   map: chop data   reduce: fold data


                   MapReduce
low-latency   order-of-reads delayed-gratification


        eventual-consistency
For the academically inclined:

    Proprietary DB   high-performance        Google App. Engine

                     Google BigTable

                     Amazon Dynamo
    Proprietary system   high-availability    AWS key-value
quick shout-out
Object oriented
Faster and Declarative.

Lack of interoperability and recovery standards.



                          End-to-end development, database &
                          deployment platform


                          Embeddable and fast. Lack of querying
                          capabilities.
XML
Native XML database systems.

Typically XQuery used as querying mechanism.

Advantage or Disadvantage based on XML affinity.




      Sedna               Tamino
Choice By Data Model
aggregate-ignorant
Graph

Graph-data structure      associative-datasets node/edges
           Small records with complex interconnections.




                                                      GraphDB
aggregate-oriented
Key/Value
in-memory processing/caching

hyper-efficient associative storage




             Voldemort
Wide-Column

horizontally-partition   fully distributed Dynamo + BigTable
Document-oriented

schema-less   collection-based-JSON-like   dynamic-indexing
Choice By CAP

           CA            AP           CP
   RDBMS        Riak          MongoDB
                Dynamo        Hbase
                Cassandra     Redis
                CouchDB       Hypertable
                Voldemort
C       C++          C#        Erlang      Java

Redis   MongoDB      RavenDB   CouchDB     Cassandra

        Hypertable   GraphDB   Couchbase   Hadoop

        Kyoto                  Riak        HBase
        Tycoon
                               Scalaris    neo4J

                                           Voldemort
Way Ahead
What are
Microsoft &
Oracle up to?
Microsoft Polybase
Oracle NoSQL
polyglot persistence
  … a highly possible future
We learnt that ...

RDBMSs are here to stay. NoSQL is not creating
a paradigm shift.

NoSQL provides a set of non-relation data
stores & technologies that have affinity for
being processed in a clustered environment.

Some of them NoSQL databases also offer a
solution to Impedance Mismatch thus
increasing application developer productivity.

What Aggregate-Orientation in data modeling
means.

What the different types of database types
are.

And most importantly ... we now know that
RDBMS systems need DBAs - Database
Architects & Admins.
NoSQL systems need DBAs too - Developers
Beyond Awesome!
Twitter: @areshankar
Computers are useless. They can only
                      give you answers.
                           Pablo Picasso
           Cubist painter (1881 - 1973)




?

Contenu connexe

Tendances

Overview of no sql
Overview of no sqlOverview of no sql
Overview of no sql
Sean Murphy
 
No sql landscape_nosqltips
No sql landscape_nosqltipsNo sql landscape_nosqltips
No sql landscape_nosqltips
imarcticblue
 

Tendances (20)

Hadoop World 2011: Hadoop and Netezza Deployment Models and Case Study - Kris...
Hadoop World 2011: Hadoop and Netezza Deployment Models and Case Study - Kris...Hadoop World 2011: Hadoop and Netezza Deployment Models and Case Study - Kris...
Hadoop World 2011: Hadoop and Netezza Deployment Models and Case Study - Kris...
 
Cassandra vs. MongoDB
Cassandra vs. MongoDBCassandra vs. MongoDB
Cassandra vs. MongoDB
 
HPTS 2011: The NoSQL Ecosystem
HPTS 2011: The NoSQL EcosystemHPTS 2011: The NoSQL Ecosystem
HPTS 2011: The NoSQL Ecosystem
 
Overview of no sql
Overview of no sqlOverview of no sql
Overview of no sql
 
No sql landscape_nosqltips
No sql landscape_nosqltipsNo sql landscape_nosqltips
No sql landscape_nosqltips
 
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
Building Data Pipelines with SMACK: Designing Storage Strategies for Scale an...
 
Databases in the Cloud
Databases in the CloudDatabases in the Cloud
Databases in the Cloud
 
Big data vahidamiri-datastack.ir
Big data vahidamiri-datastack.irBig data vahidamiri-datastack.ir
Big data vahidamiri-datastack.ir
 
Welcome | MariaDB today and our vision for the future
Welcome | MariaDB today and our vision for the futureWelcome | MariaDB today and our vision for the future
Welcome | MariaDB today and our vision for the future
 
Introduction to Cassandra and datastax DSE
Introduction to Cassandra and datastax DSEIntroduction to Cassandra and datastax DSE
Introduction to Cassandra and datastax DSE
 
Hadoop and Netezza - Co-existence or Competition?
Hadoop and Netezza - Co-existence or Competition?Hadoop and Netezza - Co-existence or Competition?
Hadoop and Netezza - Co-existence or Competition?
 
Webinar: DataStax Training - Everything you need to become a Cassandra Rockstar
Webinar: DataStax Training - Everything you need to become a Cassandra RockstarWebinar: DataStax Training - Everything you need to become a Cassandra Rockstar
Webinar: DataStax Training - Everything you need to become a Cassandra Rockstar
 
Indic threads pune12-nosql now and path ahead
Indic threads pune12-nosql now and path aheadIndic threads pune12-nosql now and path ahead
Indic threads pune12-nosql now and path ahead
 
NoSQL and MongoDB
NoSQL and MongoDBNoSQL and MongoDB
NoSQL and MongoDB
 
Data has a better idea the in-memory data grid
Data has a better idea   the in-memory data gridData has a better idea   the in-memory data grid
Data has a better idea the in-memory data grid
 
Gcp data engineer
Gcp data engineerGcp data engineer
Gcp data engineer
 
Cassandra
CassandraCassandra
Cassandra
 
NoSql
NoSqlNoSql
NoSql
 
Big data vahidamiri-tabriz-13960226-datastack.ir
Big data vahidamiri-tabriz-13960226-datastack.irBig data vahidamiri-tabriz-13960226-datastack.ir
Big data vahidamiri-tabriz-13960226-datastack.ir
 
Cassandra an overview
Cassandra an overviewCassandra an overview
Cassandra an overview
 

En vedette

Bahasa inggeris 1 thn 5
Bahasa inggeris 1 thn 5Bahasa inggeris 1 thn 5
Bahasa inggeris 1 thn 5
thecast
 

En vedette (6)

Calidad de vida por Darwin Collantes ppt
Calidad de  vida por Darwin Collantes pptCalidad de  vida por Darwin Collantes ppt
Calidad de vida por Darwin Collantes ppt
 
Ujian pentaksiran akhir tahun sekolah rendah 2016 english pemahaman tahun 5
Ujian pentaksiran akhir tahun sekolah rendah 2016 english pemahaman tahun 5Ujian pentaksiran akhir tahun sekolah rendah 2016 english pemahaman tahun 5
Ujian pentaksiran akhir tahun sekolah rendah 2016 english pemahaman tahun 5
 
Bahasa inggeris 1 thn 5
Bahasa inggeris 1 thn 5Bahasa inggeris 1 thn 5
Bahasa inggeris 1 thn 5
 
Kertas Soalan Bahasa Inggeris Kertas 1 Tahun 5 KSSR
Kertas Soalan Bahasa Inggeris Kertas 1 Tahun 5 KSSRKertas Soalan Bahasa Inggeris Kertas 1 Tahun 5 KSSR
Kertas Soalan Bahasa Inggeris Kertas 1 Tahun 5 KSSR
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Similaire à Navigating NoSQL in cloudy skies

NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
Felix Gessert
 
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
Qian Lin
 
NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
Adi Challa
 
NO SQL: What, Why, How
NO SQL: What, Why, HowNO SQL: What, Why, How
NO SQL: What, Why, How
Igor Moochnick
 
NoSQL Options Compared
NoSQL Options ComparedNoSQL Options Compared
NoSQL Options Compared
Sergey Bushik
 

Similaire à Navigating NoSQL in cloudy skies (20)

North Bay Ruby Meetup 101911
North Bay Ruby Meetup 101911North Bay Ruby Meetup 101911
North Bay Ruby Meetup 101911
 
No sql
No sqlNo sql
No sql
 
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
 
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
A Survey of Advanced Non-relational Database Systems: Approaches and Applicat...
 
NoSQLDatabases
NoSQLDatabasesNoSQLDatabases
NoSQLDatabases
 
If NoSQL is your answer, you are probably asking the wrong question.
If NoSQL is your answer, you are probably asking the wrong question.If NoSQL is your answer, you are probably asking the wrong question.
If NoSQL is your answer, you are probably asking the wrong question.
 
Nosql seminar
Nosql seminarNosql seminar
Nosql seminar
 
NoSQL Architecture Overview
NoSQL Architecture OverviewNoSQL Architecture Overview
NoSQL Architecture Overview
 
NoSQL
NoSQLNoSQL
NoSQL
 
The NoSQL Ecosystem
The NoSQL Ecosystem The NoSQL Ecosystem
The NoSQL Ecosystem
 
NO SQL: What, Why, How
NO SQL: What, Why, HowNO SQL: What, Why, How
NO SQL: What, Why, How
 
Minnebar 2013 - Scaling with Cassandra
Minnebar 2013 - Scaling with CassandraMinnebar 2013 - Scaling with Cassandra
Minnebar 2013 - Scaling with Cassandra
 
Introduction to NoSQL
Introduction to NoSQLIntroduction to NoSQL
Introduction to NoSQL
 
Database awareness
Database awarenessDatabase awareness
Database awareness
 
How and when to use NoSQL
How and when to use NoSQLHow and when to use NoSQL
How and when to use NoSQL
 
NoSQL Options Compared
NoSQL Options ComparedNoSQL Options Compared
NoSQL Options Compared
 
NOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQLNOSQL- Presentation on NoSQL
NOSQL- Presentation on NoSQL
 
NOSQL in big data is the not only structure langua.pdf
NOSQL in big data is the not only structure langua.pdfNOSQL in big data is the not only structure langua.pdf
NOSQL in big data is the not only structure langua.pdf
 
Prepare Your Data For The Cloud
Prepare Your Data For The CloudPrepare Your Data For The Cloud
Prepare Your Data For The Cloud
 
Preparing your data for the cloud
Preparing your data for the cloudPreparing your data for the cloud
Preparing your data for the cloud
 

Dernier

Dernier (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
Deploy with confidence: VMware Cloud Foundation 5.1 on next gen Dell PowerEdg...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Navigating NoSQL in cloudy skies

  • 1.
  • 2. Presented at: Chicago IT Architects Group Jan 15, 2013
  • 3. shankar ramachandran works with: Microsoft Web Stack of Love Microsoft SQL Server also works with:
  • 4. Skipping essential steps, just creates an illusion of speed & growth.
  • 6. Agenda • What NoSQL is & What it is not • Why NoSQL – 2 specific reasons • Conceptual Fundamentals & Grounding • 3 techniques to classify & choose • Way ahead
  • 7. What • Variety of non- relational database systems • Usually schema-less • Mostly open-source • Not anti-RDBMS • Not a replacement
  • 8. No – relational tables – were harmed in the making of this presentation.
  • 13.
  • 14.
  • 15. 4 Vs of Big Data Volume Velocity • Terabytes and Petabytes • Time sensitive real-time data processing & decision making Variety Value • Of structured and • Inherent value always unstructured data
  • 16. RDBMS can handle all that. Right?? • Scaling up has a limit. • Sharding - spread data across servers. • Denormalization - potentially duplicates data in the database, requiring updates to multiple tables when a . duplicated data item is changed • Distributed Caching - caching recently accessed data in memory and storing that data across any number of servers . or virtual machines. Think Memcached.
  • 17. RDBMS tactics - Downside & Pitfalls • Re-sharding is disruptive. • Maintain schema on every server • Distributed Caching accelerates just the reads • You lose relational benefits anyway.
  • 18. aggregate-oriented vs. aggregate-ignorant
  • 19. Aggregate-orientation • Unit of data can have a more complex structure than a set of simple tuples. • Excellent fit to run on a cluster. • Atomic manipulation of single aggregate. • Application code takes precedence.
  • 22. • Difference between relational model & in-memory data structures • Simple tuples • ORMs provide a bridge ; complicate query performance.
  • 23. { product : "Tintin Statue", created : Date(’11-16-2010’), title : "Brass replica of Tintin", tags : [ "tintin", "herge", "snowy"], comments : [ { author : ‘Shankar', comment : 'I love it' }, { author : ‘Skeet', comment : 'me too!!' } ] }
  • 25. 3 properties of distributed databases • Consistency means that each client always has the same view of the data. • Availability - node always available for read and write. • Partition tolerance means that the system works well across physical network partitions.
  • 26. consistency availability partition-tolerance only-2-out-of-3 CAP Theorem
  • 27. consistency availability partition-tolerance This is incorrect
  • 28. consistency availability partition-tolerance
  • 29. horizontal-partitioning multiple-instances shared-nothing sharding
  • 30. commodity-hardware distributed infinite-expansion horizontal-scalability
  • 31. google-patented-framework map: chop data reduce: fold data MapReduce
  • 32. low-latency order-of-reads delayed-gratification eventual-consistency
  • 33. For the academically inclined: Proprietary DB high-performance Google App. Engine Google BigTable Amazon Dynamo Proprietary system high-availability AWS key-value
  • 35. Object oriented Faster and Declarative. Lack of interoperability and recovery standards. End-to-end development, database & deployment platform Embeddable and fast. Lack of querying capabilities.
  • 36. XML Native XML database systems. Typically XQuery used as querying mechanism. Advantage or Disadvantage based on XML affinity. Sedna Tamino
  • 37. Choice By Data Model
  • 39. Graph Graph-data structure associative-datasets node/edges Small records with complex interconnections. GraphDB
  • 42. Wide-Column horizontally-partition fully distributed Dynamo + BigTable
  • 43. Document-oriented schema-less collection-based-JSON-like dynamic-indexing
  • 44.
  • 45. Choice By CAP CA AP CP RDBMS Riak MongoDB Dynamo Hbase Cassandra Redis CouchDB Hypertable Voldemort
  • 46. C C++ C# Erlang Java Redis MongoDB RavenDB CouchDB Cassandra Hypertable GraphDB Couchbase Hadoop Kyoto Riak HBase Tycoon Scalaris neo4J Voldemort
  • 51.
  • 52. polyglot persistence … a highly possible future
  • 53. We learnt that ... RDBMSs are here to stay. NoSQL is not creating a paradigm shift. NoSQL provides a set of non-relation data stores & technologies that have affinity for being processed in a clustered environment. Some of them NoSQL databases also offer a solution to Impedance Mismatch thus increasing application developer productivity. What Aggregate-Orientation in data modeling means. What the different types of database types are. And most importantly ... we now know that RDBMS systems need DBAs - Database Architects & Admins. NoSQL systems need DBAs too - Developers Beyond Awesome!
  • 55. Computers are useless. They can only give you answers. Pablo Picasso Cubist painter (1881 - 1973) ?